480 Stimmen

Unterschied zwischen Übertragungen anzeigen

Ich verwende Git auf Ubuntu 10.04 (Lucid Lynx).

Ich habe einige Übertragungen an meinem Master vorgenommen.

Ich möchte jedoch den Unterschied zwischen diesen Übertragungen ermitteln. Alle von ihnen sind auf meinem Master-Zweig.

Zum Beispiel:

commit dj374
made changes

commit y4746
made changes

commit k73ud
made changes

Ich möchte den Unterschied zwischen k73ud und dj374 herausfinden. Als ich jedoch das Folgende tat, konnte ich die Änderungen, die ich in k73ud .

git diff k73ud..dj374 > master.patch

3voto

Die akzeptierte Antwort ist gut.

Ich stelle es hier noch einmal ein, damit es leicht zu verstehen ist und man es in Zukunft versuchen kann

git diff c1...c2 > mypatch_1.patch  
git diff c1..c2  > mypatch_2.patch  
git diff c1^..c2 > mypatch_3.patch  

Ich habe für alle oben genannten Befehle den gleichen Unterschied.

Oben hilft bei
1. den Unterschied zwischen Commit c1 und einem anderen Commit c2 sehen
2. auch die Erstellung einer Patch-Datei, die eine Differenz anzeigt und dazu verwendet werden kann, Änderungen auf einen anderen Zweig anzuwenden

Wenn der Unterschied nicht korrekt angezeigt wird
dann können c1 und c2 falsch verstanden werden
Sie müssen also so angepasst werden, dass sie vor der Übergabe von c1 an c0 oder nach der Übergabe von c2 an c3 liegen.

Utilice gitk um die SHAs der Commits zu sehen, reichen die ersten 8 Zeichen aus, um sie als c0, c1, c2 oder c3 zu verwenden. Sie können die Commits-IDs auch unter Gitlab > Repository > Commits usw. einsehen.

Ich hoffe, das hilft.

2voto

Der unten stehende Befehl funktioniert bei mir auf Ubuntu 20.04 und git v2.25.1 perfekt:

git diff <base-commit-id> <target-commit-id>

0voto

bit_cracker007 Punkte 1921

Nehmen wir an, Sie haben eine weitere Übergabe am Ende (die älteste), dann wird das ziemlich einfach:

commit dj374
made changes

commit y4746
made changes

commit k73ud
made changes

commit oldestCommit
made changes

Die Verwendung der nachstehenden Informationen wird den Zweck leicht erfüllen.

git diff k73ud oldestCommit

-2voto

Annadurai Punkte 31

Verwenden Sie diesen Befehl, um den Unterschied zwischen Commit und Unstaged zu erkennen:

git difftool --dir-diff

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X