2014-01-26 7 views
6

Ich folgte Jörg W Mittag's antwort in this post und habe meld als difftool in meinem git konfiguriert. Jetzt kann ich sehen und vergleichen Unterschiede eine Datei in verschiedenen Zweigen perfekt mit diesem Befehl:Git - Änderungen in meld (als difftool) nicht gespeichert

git checkout branch1 
git difftool branch1:file.f90 branch2:file.f90 

ich ausgeführt, um den obigen Befehl gemacht und gespeicherten Änderungen in meld. Allerdings, wenn ich die Datei überprüfen mit:

Die Änderungen, die ich zuvor in Meld gemacht wurden nicht gespeichert werden. Ich verstehe nicht, warum das so ist; Ich muss wohl nicht richtig als diff-Tool konfiguriert haben. Könnte mir jemand bei diesem Problem helfen? Vielen Dank!!

Antwort

3

Da Sie die Zweige beider Dateien explizit angegeben haben, arbeitet Meld für temporäre Kopien beider Dateien. Geben Sie einfach den Namen des nicht ausgecheckten Zweigs ein: file; Dies sollte dazu führen, dass meld eine temporäre Kopie der angegebenen Datei mit der gleichnamigen Datei vergleicht.

1

Damit Ihre Änderungen gespeichert werden, müssen Sie einen Zweig mit der aktuellen Arbeitsdatei vergleichen.

In Ihrem Fall:

git checkout branch1 
git difftool branch2:file.f90 file.f90 

Alternativ können Sie ganzen Zweig mit dem Arbeitsverzeichnis vergleichen und speichern Sie die Änderungen. Ich habe mehr Details, die zur Verfügung gestellt über hier: https://stackoverflow.com/a/22535996/2178047

1

die Notwendigkeit zu vermeiden doppelte Dateinamen angeben, verwenden Sie die folgenden Schritte aus:

git difftool branch -- file 

Diese branch:file mit file im Arbeits Baum vergleichen wird.

Darüber hinaus den gesamten Arbeitsbaum mit branch, Gebrauch diff:

git difftool --dir-diff branch 

Wie in anderen Antworten erwähnt, wenn Sie branch mit other_branch (einigen Zweigen anders aus, was ausgecheckt ist zur Zeit) diff benötigen, Sie müssen zuerst other_branch auschecken, bevor Sie die obigen Befehle verwenden.

+0

Hervorragende Antwort @Mark, das ist der einfachste Befehl, um diese Aufgabe zu erledigen. Vielen Dank! – Gabriel

Verwandte Themen