2012-10-09 28 views
5

Khi tôi thêm một tập tin để dàn dựng, tôi có thểÁp dụng một cam kết đoạn bởi đoạn

$ git add my_file -p 

Và chọn các khối Tôi muốn sân khấu.

Có cách nào để hợp nhất/chọn một cam kết và áp dụng đoạn mã khác bằng đoạn?

Cảm ơn

+0

cũng có một cái nhìn tại vim fugitive. Đó là đá lựa chọn tương tác hunk – sehe

+0

Có lẽ liên quan: https://stackoverflow.com/questions/1085162/commit-only-part-of-a-file-in-git –

Trả lời

11

Tôi không biết cách trực tiếp để thực hiện việc này nhưng đây là cách gián tiếp.

git cherry-pick -n <commit>

Cherry chọn cam kết nhưng nói git không cam kết nó (-n). Những thay đổi bây giờ sẽ có trong bản sao làm việc của bạn, do đó bạn có thể làm

git checkout -p

này sẽ lặp qua mỗi đoạn và yêu cầu nếu bạn muốn loại bỏ nó, nói có với bất kỳ khối bạn không muốn và không có khối bạn muốn giữ.

+0

Đó chắc chắn là một giải pháp. Chúc mừng! – ms123

+0

chỉ cần một chút chính xác: Sau git cherry-pick -n , , chúng tôi cần phải đặt lại git -p (và lấy những gì chúng tôi muốn từ dàn dựng) – ms123

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