2013-08-05 36 views
19

Tôi phải nhanh chóng chuyển đổi nhánh git, vì vậy tôi chạy git stash, nhưng tôi phải chạy lại vì một trong các tệp của tôi cần chỉnh sửa.Git stash hai lần

Vì vậy, tôi đã chạy git stash hai lần và tôi đã sẵn sàng quay lại chỉnh sửa tệp của mình. Tôi chạy git stash apply nhưng tôi không tin rằng tất cả các tập tin tôi đã cất giấu đã được unstashed. Tôi có thể làm gì không? Bất kỳ cách nào để kiểm tra?

Khi tôi chạy git stash show, tôi chỉ nhìn thấy cuối cùng của hai git stashes của tôi.

Có cách nào để hiển thị tất cả git stashes không?

+3

'git stash list'. Nếu bạn đã thực hiện hai stashes, sau đó gọi 'git stash pop' hai lần. –

+0

Xin chào, bạn đã sửa nó! Bạn nên đặt nó như một câu trả lời. Cảm ơn rất nhiều – stephenmurdoch

Trả lời

55

Bạn có thể có được một danh sách tất cả ẩn nấp với

git stash list 

mà sẽ cho bạn thấy một cái gì đó giống như

[email protected]{0}: WIP on dev: 1f6f8bb Commit message A 
[email protected]{1}: WIP on master: 50cf63b Commit message B 

Nếu bạn đã thực hiện hai ẩn nấp, sau đó chỉ cần gọi git stash pop hai lần. Trái ngược với git stash apply, pop áp dụng và xóa dấu gạch chéo mới nhất.

Bạn cũng có thể tham chiếu một stash cụ thể, ví dụ:

git stash show [email protected]{1} 

hoặc

git stash apply [email protected]{1} 
+0

Cảm ơn rất nhiều. Đã lưu ngày của tôi. – stephenmurdoch

+7

Nếu bạn muốn 'git stash pop' hai lần vì bạn muốn cả hai dấu gạch ngang trong cùng một cam kết nhưng bạn gặp" lỗi: Thay đổi cục bộ của bạn đối với các tệp sau sẽ bị ghi đè bằng cách hợp nhất: "trên cửa sổ thứ hai của bạn. bạn có thể: 1) 'git stash pop', 2)' git add .', và 3) 'git stash pop'. – gabe

Các vấn đề liên quan