Je ne veux pas d'une fusion visuelle de l'outil, et je ne veux pas avoir à vi le fichier en conflit et de choisir manuellement le entre la TÊTE (la mienne) et de l'importation de changement (pour eux). La plupart du temps, soit je souhaite à tous de leurs modifications ou tous les miens. C'est en général parce que mon changement amont immédiat et est venue vers moi à travers un pull, mais peut être légèrement modifié en divers endroits.
Est-il un outil de ligne de commande qui permettra de se débarrasser des marqueurs de conflit et de choisir tous d'une façon ou d'une autre basée sur mon choix? Ou un ensemble de commandes git qui je peux alias moi-même à faire de chacun.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Le faire, c'est plutôt gênant. Pour " accepter la mienne, j'ai essayé:
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.
Comment suis-je censé se débarrasser de ces marqueurs?
Je peux faire:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Mais cela semble plutôt rond, il doit y avoir une meilleure façon. Et à ce point, je ne suis pas sûr si git pense même de la fusion qui s'est passé, donc je ne pense pas que ce nécessairement de même des œuvres.
Va dans l'autre sens, de faire "accepter les leurs", est tout aussi bordélique. La seule façon dont je peux le comprendre, c'est de faire:
git show test-branch:Makefile > Makefile; git add Makefile;
Cela me donne aussi une foiré message de commit qui a des Conflits: Makefile en deux fois.
Quelqu'un peut s'il vous plaît signaler la façon de faire ces deux actions dans un moyen plus simple? Merci