2011-09-07 33 views
41

git add -p để thay đổi giai đoạn và git checkout -p để hủy thay đổi tương tác. Làm thế nào tôi có thể unstage thay đổi từ chỉ mục của hunks?Git tương tác unstage

(Tôi nghĩ rằng git unstage -p hay git reset HEAD -p có thể làm việc.)

+0

Bạn có tự hỏi tại sao bạn phải nhập 'git reset HEAD -p' thay vì' git unstage -p'? Lệnh 'reset -p' đã tồn tại từ 1.6.5. –

Trả lời

48

Nếu tôi không nhầm, những gì bạn muốn là để unstage hunks tương tác? Tôi nghĩ rằng git reset -p thực hiện chính xác điều đó. nhắn nhắc nhở của nó thậm chí còn chính xác như Unstage this hunk?

Cũng từ hướng dẫn:

Điều này có nghĩa rằng git reset -p là trái ngược với git add -p, ví dụ: bạn có thể sử dụng nó để chọn lọc reset hunks. Xem phần “Chế độ tương tác” của git-add (1) để tìm hiểu cách vận hành chế độ --patch.

+0

Đó là một sự xấu hổ mà tôi đã bỏ lỡ bit này trong tài liệu. Xin lỗi các bạn. – Dziamid

+1

@Dziamid Không hề xấu hổ chút nào. Tôi cho một người không nghĩ rằng nó rõ ràng rằng thiết lập lại nên được đối diện của thêm, hoặc thậm chí là họ là pseudo đặt tên giai đoạn/unstage. Nhưng may mắn cho tôi, bạn đã làm nhiệm vụ quan trọng của việc đặt câu hỏi! (mặc dù hơi vụng về, vì bạn dường như đã biết câu trả lời) kudos: D – Superole

+0

Đây là điều tốt nhất mà tôi từng thấy trên ngăn xếp tràn! Ok ... tốt, ít nhất, nó gãi một ngứa Tôi đã được tự sửa chữa bằng tay trong một thời gian rất dài. – Crisfole

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