Nie chcę wizualnego narzędzia do scalania, a także nie chcę zmuszać do vi konfliktu pliku i ręcznego wybierania między HEAD (moim) a zaimportowaną zmianą (ich). Przez większość czasu chcę albo wszystkie ich zmiany, albo wszystkie moje. Zwykle dzieje się tak, ponieważ moja zmiana sprawiła, że grałem w górę i wraca do mnie poprzez przyciągnięcie, ale może być nieco zmodyfikowana w różnych miejscach.
Czy istnieje narzędzie wiersza polecenia, które pozbywa się znaczników konfliktu i wybiera wszystkie takie czy inne sposoby na podstawie mojego wyboru? Lub zestaw komend git, które mogę aliasu sobie do każdego z nich.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Robienie tego jest raczej denerwujące. Do „zaakceptuj moje” próbowałem:
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.
Jak mam się pozbyć tych znaczników zmian?
Potrafię:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Ale wydaje się to dość okrągłe, musi być lepszy sposób. I w tym momencie nie jestem pewien, czy git nawet myśli, że nastąpiło scalenie, więc nie sądzę, że to koniecznie działa.
Idąc w drugą stronę, robienie „zaakceptuj ich” jest równie nieporządne. Jedyny sposób, w jaki mogę to rozgryźć, to:
git show test-branch:Makefile > Makefile; git add Makefile;
Daje mi to także błędny komunikat zatwierdzenia, który zawiera dwa razy Konflikty: Makefile.
Czy ktoś może wskazać, jak wykonać powyższe dwie czynności w prostszy sposób? Dzięki