Wie kann ich die Unterschiede zwischen zwei Zweigen sehen?

Lesezeit: 4 Minuten

Wie kann ich die Unterschiede zwischen zwei Zweigen sehen
isuruanu

Ich habe zwei Filialen: branch_1 und branch_2.

Wie kann ich die Unterschiede zwischen ihnen sehen?

  • Sie wollen etwas anderes als das Geradlinige git diff branch_1 branch_2? (Beachten Sie, wenn die Namen branch_1 und branch_2 auch Dateien benennen, benötigen Sie git diff branch_1 branch_2 --)

    – Torek

    23. März 2012 um 5:53 Uhr

  • stackoverflow.com/questions/822811/differences-in-git-branches

    – Bijendra

    23. März 2012 um 6:15 Uhr

  • Das zitierte Duplikat beantwortet die Frage nicht … Feststellen, welche Dateien sich geändert haben git diff --name-status master..branchName ist deutlich anders, als die genauen Unterschiede zwischen Zweigen mit so etwas zu sehen git diff branch_1 branch_2. Oder vielleicht übersehe ich etwas Offensichtliches …

    – jww

    19. August 2016 um 8:14 Uhr

  • Das “Duplizieren” ist nicht nur eine andere Frage, diese Frage ist auch das Google-Match Nummer eins für “Git Diff Two Branches”.

    – Rob Osborne

    6. Juni 2017 um 13:08 Uhr

  • git difftool branch..otherBranch lässt Sie die Unterschiede in dem von Ihnen gewählten visuellen Tool SEHEN. zB Meld. Das ist die Antwort.

    – Greg Rundlett

    30. Januar 2018 um 2:18 Uhr

Wie kann ich die Unterschiede zwischen zwei Zweigen sehen
Fauler Dachs

Sie verwenden möchten git diff.

git diff [<options>] <commit>..​<commit> [--] [<path>…​]

Woher <commit> ist Ihr Zweigname, der Hash eines Commits oder eine abgekürzte symbolische Referenz

Zum Beispiel git diff abc123..def567 oder git diff HEAD..origin/master

Dadurch wird der Unterschied zwischen den Spitzen der beiden Äste erzeugt. Wenn Sie es vorziehen, den Unterschied von ihrem gemeinsamen Vorfahren zum Testen zu finden, können Sie verwenden drei Punkte statt zwei:

git diff <commit>...<commit>

Und wenn Sie nur prüfen möchten, welche Dateien sich unterscheiden, nicht wie sich der Inhalt unterscheidet, verwenden Sie --name-only:

git diff --name-only <commit>..​<commit>

Beachten Sie, dass in der <commit>..<commit> (zwei Punkte) Syntax, die Punkte sind optional; folgendes ist synonym:

git diff commit1 commit2

  • Dieselbe Syntax funktioniert für den Vergleich einer Verzweigung mit einem Tag oder eines Tags mit einem anderen Tag.

    – Daniel Sohar

    27. Mai 2013 um 7:02 Uhr

  • Beachten Sie, dass Sie nach den beiden obigen Befehlen auch einen Datei- oder Ordnernamen hinzufügen können.

    – msanford

    28. Juli 2014 um 16:54 Uhr

  • @chiyachaiya deine Erklärung hat mir geholfen, aber git diff b1 … b2 ist nicht dasselbe wie git diff b2 … b1. Zum Beispiel, sobald wir b2 von b1 aus gestartet haben und wenn wir einige Änderungen an b1 vornehmen, zeigt git diff b2…b1 Änderungen an b1 an, nachdem b2 gestartet wurde. Wenn wir git diff b1…b2 machen, werden Änderungen an b2 vorgenommen, die nicht in b1 sind.

    – Chintak Chhapia

    10. Februar 2015 um 6:45 Uhr


  • Wenn du bekommst fatal: bad revision 'some-branch' dann ist dies wahrscheinlich eine Remote-Zweigstelle. Sie brauchen wahrscheinlich so etwas wie git diff remotes/origin/some-branch my-local-branch

    – Dalin

    13. Oktober 2015 um 17:41 Uhr

  • git diff ..branch_2 vergleicht den ausgecheckten Zweig mit Zweig_2

    – sweisgerber.dev

    6. März 2017 um 13:10 Uhr

Es ist sehr einfach. Sie gehen einfach zu einer Filiale (zB main ist Ihre Filiale).

Führen Sie den Befehl aus

git checkout main
git diff branch2

  • Das hat bei mir nicht funktioniert, es zeigte keine Änderungen. Ich hatte allerdings nur lokale Commits.

    – rauben

    Vor 2 Tagen

Wie kann ich die Unterschiede zwischen zwei Zweigen sehen
Nagibaba

Code ist einfach git diff master..develop

Optionen:

  • Du kannst hinzufügen --name-only um nur die Namen der Dateien zu sehen.
  • Wenn Sie die Änderungen bestimmter Dateien oder Ordner sehen möchten. Dann füge hinzu -- folderOrFileName Am Ende.
  • Wenn Sie den lokalen Zweig mit dem entfernten vergleichen möchten, dann fetch --all um alle entfernten Branches abzurufen und auszuführen git diff --name-only [branchName]..origin/[branchName]. Zum Beispiel git diff --name-only develop..origin/develop

Es gibt viele verschiedene Möglichkeiten, Zweige zu vergleichen, und es hängt von dem spezifischen Anwendungsfall ab, den Sie benötigen.

Oft möchten Sie vergleichen, weil etwas kaputt ist, und Sie möchten sehen, was sich geändert hat, es dann reparieren und erneut sehen, was sich geändert hat, bevor Sie es festschreiben.

Persönlich, wenn ich den Unterschied sehen möchte, was ich gerne mache:

git checkout branch_1 # checkout the oldest branch
git checkout -b compare-branch # create a new branch
git merge --no-commit --squash branch_2 # put files from the new branch in the working folder
git status # see file names that changes
git diff # see the content that changed.

Mit dieser Lösung sehen Sie den Unterschied, Sie können auch nur die Dateinamen sehen git statusund der wichtigste Teil, den Sie ausführen können branch_2 während Sie das Diff sehen (branch_2 befindet sich im Arbeitsbaum). Wenn etwas kaputt gegangen ist, können Sie die Dateien bearbeiten und reparieren. Sie können jederzeit erneut eingeben git status oder git diff um den Unterschied von der neuen Bearbeitung zu sehen branch_a.

Sie können den Unterschied einfach zeigen, indem Sie-
git diff b1...b2
Oder Sie können den Commit-Unterschied anzeigen, indem Sie Folgendes verwenden:
git log b1..b2
Sie können den Commit-Unterschied auf schöne grafische Weise mit –
git log --oneline --graph --decorate --abbrev-commit b1..b2

963710cookie-checkWie kann ich die Unterschiede zwischen zwei Zweigen sehen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy