Tôi không muốn có một công cụ hợp nhất trực quan và tôi cũng không muốn phải vi phạm tệp bị xung đột và chọn thủ công giữa ĐẦU (của tôi) và thay đổi đã nhập (của chúng). Hầu hết thời gian tôi muốn tất cả các thay đổi của họ hoặc tất cả của tôi. Thông thường, điều này là do sự thay đổi của tôi đã làm cho nó trở nên mới hơn và đang quay trở lại với tôi thông qua một cú kéo, nhưng có thể được sửa đổi một chút ở nhiều nơi.
Có một công cụ dòng lệnh nào sẽ loại bỏ các dấu xung đột và chọn tất cả cách này hay cách khác dựa trên sự lựa chọn của tôi không? Hoặc một tập hợp các lệnh git mà tôi có thể tự đặt bí danh để thực hiện từng lệnh.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Làm điều này là khá khó chịu. Để 'chấp nhận của tôi' tôi đã thử:
randy@sabotage ~/linus $ git merge test-branch
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
Automatic merge failed; fix conflicts and then commit the result.
randy@sabotage ~/linus $ git checkout Makefile
error: path 'Makefile' is unmerged
andy@sabotage ~/linus $ git reset --hard HEAD Makefile
fatal: Cannot do hard reset with paths.
Làm thế nào tôi có thể thoát khỏi những dấu hiệu thay đổi này?
Tôi có thể làm:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Nhưng điều này có vẻ khá tròn trịa, phải có một cách tốt hơn. Và tại thời điểm này, tôi không chắc liệu git thậm chí có nghĩ rằng sự hợp nhất đã xảy ra hay không, vì vậy tôi không nghĩ rằng điều này nhất thiết phải hoạt động.
Đi theo một cách khác, làm 'chấp nhận họ' cũng lộn xộn không kém. Cách duy nhất tôi có thể tìm ra là làm:
git show test-branch:Makefile > Makefile; git add Makefile;
Điều này cũng mang lại cho tôi một thông điệp cam kết sai lầm, trong đó có Mâu thuẫn: Makefile trong đó hai lần.
Ai đó có thể vui lòng chỉ ra làm thế nào để thực hiện hai hành động trên một cách đơn giản hơn? Cảm ơn