Non voglio uno strumento di unione visiva e non voglio nemmeno dover vi il file in conflitto e scegliere manualmente tra HEAD (mio) e il resto importato (loro). Il più delle volte voglio o tutti i loro cambiamenti o tutti i miei. Comunemente ciò è dovuto al fatto che il mio cambiamento mi ha consentito di risalire e mi sta tornando in mente, ma può essere leggermente modificato in vari punti.
Esiste uno strumento da riga di comando che eliminerà gli indicatori di conflitto e sceglierà in un modo o nell'altro in base alla mia scelta? O una serie di comandi git che posso fare alias per fare ognuno di essi.
# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"
Fare questo è piuttosto fastidioso. Per "accetta il mio" ho provato:
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.
Come dovrei sbarazzarmi di questi indicatori di cambiamento?
Posso fare:
git reset HEAD Makefile; rm Makefile; git checkout Makefile
Ma questo sembra piuttosto rotondo, ci deve essere un modo migliore. E a questo punto, non sono sicuro che git pensi persino che l'unione sia avvenuta, quindi non penso che funzioni necessariamente.
Andare dall'altra parte, fare "accettare il loro" è altrettanto disordinato. L'unico modo per capirlo è fare:
git show test-branch:Makefile > Makefile; git add Makefile;
Questo mi dà anche un messaggio di commit incasinato, che contiene Conflicts: Makefile due volte.
Qualcuno può far notare come eseguire le due azioni precedenti in un modo più semplice? Grazie