Ich habe eine Reihe von Übertragungen im Repository. Ich möchte eine Liste der Dateien sehen, die zwischen zwei Commits geändert wurden - von SHA1 à SHA2 .
Welchen Befehl soll ich verwenden?
Ich habe eine Reihe von Übertragungen im Repository. Ich möchte eine Liste der Dateien sehen, die zwischen zwei Commits geändert wurden - von SHA1 à SHA2 .
Welchen Befehl soll ich verwenden?
Um die Antwort von @artfulrobot zu ergänzen, wenn Sie geänderte Dateien zwischen zwei Zweigen anzeigen möchten:
git diff --name-status mybranch..myotherbranch
Achten Sie auf den Vorrang. Wenn Sie den neueren Zweig zuerst einfügen, werden die Dateien als gelöscht und nicht als hinzugefügt angezeigt.
Hinzufügen einer grep
können die Dinge weiter verfeinern:
git diff --name-status mybranch..myotherbranch | grep "A\t"
Das zeigt dann nur Dateien an, die in myotherbranch
.
Regexe sind nett und können in der Tat fast alles tun. In diesem Fall gibt es aber auch --diff-filter
die diese Funktion von Haus aus bietet, was die Wahrscheinlichkeit falscher Ergebnisse (z. B. falsch positiver Ergebnisse) verringert
Das Folgende funktioniert bei mir gut:
git show --name-only --format=tformat: SHA1..SHA2
Sie kann auch mit einer einzigen Übergabe verwendet werden:
git show --name-only --format=tformat: SHA1
was praktisch ist für die Verwendung in Jenkins wo Sie mit einer Liste von Changeset-SHA-Hash-Werten und möchten diese durchgehen, um zu sehen, welche Dateien geändert wurden.
Dies ist ähnlich wie einige der vorherigen Antworten, aber mit tformat:
よりも format:
entfernt das Trennzeichen zwischen den Commits.
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.
3 Stimmen
Für eine Übergabe und ihre Eltern: stackoverflow.com/questions/424071/
1 Stimmen
Sie sollten den Titel der Frage ändern... Sie wollen nicht die geänderten Dateinamen auflisten... Sie wollen die Namen der geänderten Dateien auflisten. Beachten Sie, dass es möglich ist, die Namen von Dateien zu ändern, ohne deren Inhalt zu ändern.