Eu não quero uma ferramenta de mesclagem visual e também não quero ter que vi o arquivo em conflito e escolher manualmente entre HEAD (meu) e a alteração importada (deles). Na maioria das vezes, eu quero todas as alterações deles ou todas as minhas. Geralmente, isso ocorre porque minha alteração o elevou e está voltando para mim através de um puxão, mas pode ser ligeiramente modificada em vários lugares.
Existe uma ferramenta de linha de comando que se livre dos marcadores de conflito e escolha de uma maneira ou de outra com base na minha escolha? Ou um conjunto de comandos git que eu também posso fazer para cada um.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Fazer isso é bastante irritante. Para 'aceitar o meu', tentei:
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.
Como devo me livrar desses marcadores de mudança?
Eu posso fazer:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Mas isso parece bastante complexo, deve haver uma maneira melhor. E, neste momento, não tenho certeza se o git acha que a fusão aconteceu, então não acho que isso funcione necessariamente.
Indo para o outro lado, fazer 'aceitar os deles' é igualmente confuso. A única maneira de descobrir isso é:
git show test-branch:Makefile > Makefile; git add Makefile;
Isso também me dá uma mensagem de confirmação confusa, que contém Conflicts: Makefile duas vezes.
Alguém pode apontar como executar as duas ações acima de uma maneira mais simples? obrigado