2347 Stimmen

Anzeigen, welche Dateien sich zwischen zwei Revisionen geändert haben

Ich möchte zwei Zweige zusammenführen, die eine Zeit lang getrennt waren, und möchte wissen, welche Dateien geändert wurden.

Ich bin auf diesen Link gestoßen: http://linux.yyz.us/git-howto.html was recht nützlich war.

Die Tools zum Vergleich von Zweigen, die ich kenne, sind:

  • git diff master..branch
  • git log master..branch
  • git shortlog master..branch

Ich habe mich gefragt, ob es so etwas wie "git status master..branch" gibt, um nur die Dateien zu sehen, die sich in den beiden Zweigen unterscheiden.

Ohne ein neues Werkzeug zu erstellen, ist dies wohl das, was dem am nächsten kommt, was Sie jetzt tun können (was natürlich Wiederholungen anzeigt, wenn eine Datei mehr als einmal geändert wurde):

  • git diff master..branch | grep "^diff"

Ich frage mich, ob ich etwas übersehen habe...

9voto

Vim Diesel Punkte 9480

Es gibt hier viele Antworten, aber ich wollte etwas hinzufügen, das ich häufig verwende. WENN Sie sich in einer der Branchen befinden, die Sie vergleichen möchten, mache ich normalerweise eine der folgenden Möglichkeiten. Für diese Antwort gehen wir davon aus, dass wir uns in unserem sekundären Zweig befinden. Welche Ansicht Sie gerade benötigen, hängt davon ab, welche Sie wählen, aber in den meisten Fällen verwende ich die zweite der beiden Optionen. Die erste Option kann praktisch sein, wenn Sie versuchen, zu einer ursprünglichen Kopie zurückzukehren - so oder so, beide erfüllen ihre Aufgabe!

Dadurch wird der Master-Zweig mit dem Zweig verglichen, in dem wir uns befinden (der sekundär ist), und der ursprüngliche Code wird als die hinzugefügten Zeilen und der neue Code als die entfernten Zeilen betrachtet

git diff ..master

OR

Dadurch wird auch der Master-Zweig mit dem Zweig verglichen, in dem wir uns befinden (der sekundär ist), und der ursprüngliche Code wird die alten Zeilen und der neue Code wird die neuen Zeilen sein

git diff master..

8voto

selftaught91 Punkte 6117

Es gibt zwei Zweige, sagen wir

  • A (Zweig, an dem Sie arbeiten)
  • B (ein anderer Zweig, mit dem Sie vergleichen möchten)

Im Zweig A können Sie Folgendes eingeben

git diff --color B

dann erhalten Sie eine Ausgabe von

enter image description here

Der wichtigste Punkt dabei ist

  1. Grüner Text ist im Zweig A vorhanden

  2. Text in Rot ist in Zweig B vorhanden

2voto

Valy Dia Punkte 2673

Wenn Sie Github / Github Enterprise verwenden, können Sie die Web-UI verwenden, indem Sie die folgende URL aufrufen /compare Ihres Repository-Pfads, zum Beispiel, https://github.com/http4s/http4s/compare . Sie können den Zweig / die Übertragung / den Tag auswählen, den Sie vergleichen möchten: Github Compare Screenshot

Und der Diff wird in der Github-Schnittstelle unter der URL /compare/{x1}...{x2} wo sind x2 y x1 sind z.B. der Zweig / die Übergabe / der Tag, den Sie vergleichen wollen: https://github.com/http4s/http4s/compare/main...dotty

Weitere Informationen finden Sie in der Github-Doku .

0voto

Jovo Skorupan Punkte 167
git diff revision_n revision_m

wenn revision_n y revision_m aufeinanderfolgende Übertragungen sind, wird dasselbe ausgegeben wie git show revision_m

0voto

kerner1000 Punkte 2903

Für Leute, die eine GUI-Lösung suchen, Git Cola hat einen sehr schönen "Branch Diff Viewer ( Diff -> Zweige ).

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