2013-10-02 25 views
11

Trong chi nhánh hiện tại của tôi, tôi có một vài ẩn nấp:Làm thế nào để bạn "cập nhật" một stash?

  1. Nếu tôi áp dụng [email protected]{0}:

    $ git stash apply stash{0} 
    
  2. Sửa stash này

  3. Tôi muốn lưu các thay đổi đối với stash hiện [email protected]{0}

Tôi không muốn tạo ra một stash 4 Tôi chỉ muốn cập nhật stash đầu tiên .

Ai đó có thể nói cách thực hiện việc này? Tôi đang nhìn trang người đàn ông ... có lẽ tôi đang nhìn cái gì đó.

+3

Vấn đề là rõ ràng, nhưng trường hợp sử dụng là gì? Tại sao bạn không sử dụng các chi nhánh cho việc này? –

+0

Bạn muốn sửa đổi chỉ mục stash nào? – Bucket

+1

Stashes không phải là cam kết. Nếu bạn cần loại tính linh hoạt này, tốt hơn bạn nên sử dụng hệ thống xếp hàng bản vá. (Tôi không chắc chắn cái nào thích hợp nhất cho Git, Quilt hoặc StGIT.) Hoặc có thể chỉ là các nhánh riêng mà bạn đã rebase. – millimoose

Trả lời

6

Bạn có thể stash cây làm việc của bạn và sau đó thả cái cũ mà bạn không cần.

git stash apply 
# Make changes 
git stash 
git stash drop [email protected]{1} 

Ngoài ra, bạn có thể bật thay vì áp dụng, mà sẽ thả các stash cùng một lúc:

git stash pop 
# make changes 
git stash 

Một lựa chọn khác, nếu bạn đã được đã làm cho những thay đổi mà bạn muốn làm trước khi nhận thấy rằng bạn muốn hợp nhất các thay đổi lên đầu stash:

# make changes 
git add <all files> 
git stash pop # or apply 
git rm --cached <files that you want to merge> 
git stash --keep-index 
+0

Ví dụ cuối cùng của bạn là chính xác những gì tôi đã sau. Thanx – Nick

+0

+1 vào 'git stash --keep-index' – logoff

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