No quiero una herramienta de combinación visual, y tampoco quiero tener que vi el archivo en conflicto y elegir manualmente entre HEAD (el mío) y el cambio importado (el suyo). La mayoría de las veces quiero todos sus cambios o todos los míos. Por lo general, esto se debe a que mi cambio lo hizo en sentido ascendente y está volviendo a mí mediante un tirón, pero puede modificarse ligeramente en varios lugares.
¿Existe una herramienta de línea de comando que elimine los marcadores de conflicto y elija todo de una manera u otra según mi elección? O un conjunto de comandos git que puedo usar como alias para hacer cada uno.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Hacer esto es bastante molesto. Para 'aceptar el mío' he intentado:
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.
¿Cómo se supone que debo deshacerme de estos marcadores de cambio?
Puedo hacer:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Pero esto parece bastante redondo, debe haber una mejor manera. Y en este punto, no estoy seguro de si git incluso piensa que ocurrió la fusión, por lo que no creo que esto necesariamente funcione.
Yendo hacia el otro lado, hacer 'aceptar el suyo' es igualmente desordenado. La única forma en que puedo resolverlo es hacer:
git show test-branch:Makefile > Makefile; git add Makefile;
Esto también me da un mensaje de confirmación en mal estado, que tiene Conflictos: Makefile en él dos veces.
¿Alguien puede señalar cómo hacer las dos acciones anteriores de una manera más simple? Gracias