2010-07-19 9 views
16

Tôi đang sử dụng git rerere, và nó rất hữu ích, nhưng có một vấn đề: Khi nó tự động giải quyết một tệp, nó không đánh dấu nó là đã giải quyết (ví dụ như với git add). Vì vậy, nếu tôi chạy 'git mergetool', nó sẽ mở ra các tập tin như thể nó vẫn có tất cả các xung đột trong đó.Git rerere có tự động đánh dấu các tệp đã được giải quyết không?

Cho đến nay, tôi đã tạo một tập lệnh shell nhỏ có thể gọi, quét tất cả các tệp được đánh dấu là xung đột cho các dấu xung đột (ví dụ: >>>>>>>) và gọi git-add vào chúng nếu chúng không có.

Có cách nào tốt hơn để thực hiện việc này không? Một số lá cờ để git rerere tôi bị mất?

Trả lời

17

Có lẽ một khung cảnh git config có thể giúp:

rerere.autoupdate 

Khi thiết lập là true, git-rerere cập nhật các chỉ số với các nội dung kết quả sau khi nó sạch sẽ giải quyết mâu thuẫn bằng độ phân giải ghi nhận trước đó.
Mặc định là sai.

Lưu ý: kể từ Git1.7.0,

"git rerere" có rerere.autoupdate cấu hình nhưng không có cách nào để hồi lại nó từ dòng lệnh;
--no-rerere-autoupdate tùy chọn được cung cấp cho "merge", "revert", v.v. sửa lỗi này.

+0

Ah, đã xảy ra sự cố của tôi. Tôi đã tìm trong trang git-rerere để được trợ giúp, điều này khá thưa thớt. Đã không nghĩ đến grep thông qua các trang người đàn ông git khác để xem họ cũng đã có thông tin lại trong họ! – davr