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

562voto

VonC Punkte 1117238

Versuchen Sie

git diff k73ud^..dj374

um sicherzustellen, dass alle Änderungen von k73ud in der resultierenden Differenz.

git diff vergleicht zwei Endpunkte ( anstelle eines Übergabebereichs ). Da der OP die Änderungen sehen möchte, die durch k73ud muss er/sie den Unterschied zwischen dem erste übergeordnete Übertragung von k73ud : k73ud^ (oder k73ud^1 o k73ud~ ).

Auf diese Weise kann die diff die Ergebnisse werden Änderungen beinhalten seit k73ud Elternteil (d.h. einschließlich Änderungen von k73ud selbst), statt der eingeführten Änderungen seit k73ud (bis zu dj374 ).

Sie können auch versuchen:

git diff oldCommit..newCommit
git diff k73ud..dj374 

und (1 Leerzeichen, nicht mehr):

git diff oldCommit newCommit
git diff k73ud dj374

Und wenn Sie nur die Dateinamen benötigen (z.B. um Hotfixes manuell zu kopieren):

git diff k73ud dj374 --name-only

Und Sie können die Änderungen auf einen anderen Zweig anwenden:

git diff k73ud dj374 > my.patch
git apply my.patch

185voto

Alex Yursha Punkte 2928

Um den Unterschied zwischen:

Ihre Arbeitskopie und Ihr Bereitstellungsbereich:

% git diff

Staging Area und die letzte Übergabe:

% git diff --staged

Ihre Arbeitskopie und Commit 4ac0a6733:

% git diff 4ac0a6733

Commit 4ac0a6733 und der letzte Commit:

% git diff 4ac0a6733 HEAD

Commit 4ac0a6733 und Commit 826793951

% git diff 4ac0a6733 826793951

Für weitere Erläuterungen siehe die offizielle Dokumentation .

75voto

cxreg Punkte 10378

Wenn Sie die Änderungen sehen wollen, die mit jeder Übertragung eingeführt wurden, versuchen Sie "git log -p"

16voto

geekbytes0xff Punkte 203
  1. gitk --all
  2. Wählen Sie die erste Übertragung
  3. Rechtsklick auf der anderen Seite, dann diff ausgewählt → dies

14voto

AldaronLau Punkte 764

Um den Unterschied zwischen zwei verschiedenen Commits zu sehen (nennen wir sie a y b ), verwenden

git diff a..b
  • Beachten Sie, dass der Unterschied zwischen a y b ist das Gegenteil von b y a .

Um den Unterschied zwischen Ihrer letzten Übertragung und den noch nicht übertragenen Änderungen zu sehen, verwenden Sie

git diff

Wenn Sie später auf den Unterschied zurückkommen wollen, können Sie ihn in einer Datei speichern.

git diff a..b > ../project.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