Einfaches Werkzeug, um 'ihre' anzunehmen oder 'meine' für eine ganze Datei mit git zu akzeptieren

Ich glaube nicht, dass ein visual merge tool, und ich will auch nicht zu haben, um vi der konfliktbehafteten Datei und manuell wählen, der zwischen dem KOPF (von mir) und die importierten ändern (Ihr). Die meisten der Zeit, die ich entweder wollen Sie alle Ihre änderungen oder alle von mir. Häufig ist dies, weil mein Wechsel machte es upsteam und kommt zurück, um mich durch ein ziehen, kann aber leicht modifiziert an verschiedenen stellen.

Ist es ein Kommandozeilen-tool, die wird, loszuwerden, die Konflikt-Marker, und wählen Sie alle die eine oder andere Weise auf Grundlage meiner Wahl? Oder eine Reihe von git-Befehlen, die kann ich alias selber zu tun, jeder eine.

# accept mine
alias am="some_sequence;of;commands"
alias at="some_other_sequence;of;commands"

Dies zu tun, ist eher ärgerlich.
Für "accept mine', die ich versucht habe:

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.

Wie soll ich, um loszuwerden, diese Marker ändern?

Ich tun kann:

git reset HEAD Makefile; rm Makefile; git checkout Makefile

Aber das scheint mir eher rund, es muss einen besseren Weg geben. Und an diesem Punkt bin ich nicht sicher, ob git sogar denkt, der merge passiert ist, also ich glaube nicht, dass dies unbedingt auch funktioniert.

Gehen den anderen Weg, tut 'accept theirs' ist ebenso chaotisch.
Nur so kann ich es herausfinden, ist:

git show test-branch:Makefile > Makefile; git add Makefile;

Dieser gibt mir auch ein Durcheinander commit-Nachricht, die Konflikte: Makefile, zweimal.

Kann mir bitte jemand zeigen, wie die beiden oben genannten Aktionen auf eine einfachere Art und Weise? Dank

Kommentar zu dem Problem
Ich gebe es dir als ein drei-Jahres - + git-command-line user ich finde das unglaublich schwer zu tun, aus dem Speicher. Es sollte wirklich standardmäßig integriert. Kommentarautor: Mauvis Ledford

InformationsquelleAutor der Frage nosatalian | 2009-05-27

Schreibe einen Kommentar