Wie kann man alle Dateien in einer Übertragung auflisten?
Ich bin auf der Suche nach einem einfachen git
-Befehl, der eine schön formatierte Liste aller Dateien liefert, die Teil des Commits waren, angegeben durch einen Hash (SHA1), ohne fremde Informationen.
Ich habe es versucht:
git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
Er listet zwar die Dateien auf, enthält aber auch unerwünschte Diff-Informationen für jede Datei.
Gibt es einen anderen git
-Befehl, der nur die gewünschte Liste liefert, so dass ich es vermeiden kann, sie aus der git show
-Ausgabe zu parsen?
2604
3
Bevorzugter Weg (weil es sich um einen klempnerischen Befehl handelt, der programmatisch sein soll):
Anderer Weg (weniger bevorzugt für Skripte, da es sich um einen Porzellan-Befehl handelt; gedacht für die Benutzeroberfläche)
--no-commit-id
unterdrückt die Ausgabe der Commit-ID.--pretty
gibt einen leeren Formatstring an, um den Schrott am Anfang zu vermeiden.--name-only
zeigt nur die Dateinamen an, die betroffen waren (Danke Hank). Verwenden Sie stattdessen--name-status
, wenn Sie sehen wollen, was mit jeder Datei passiert ist (Dgeloescht, Mgeaendert, Ahinzugefuegt)Ich nehme einfach mal an, dass
gitk
dafür nicht erwünscht ist. In diesem Fall versuchen Siegit show --name-only
.Eine Kombination aus "
git show --stat
" (danke Ryan) und ein paar sed-Befehlen sollte die Daten für Sie kürzen:Das wird nur die Liste der geänderten Dateien ausgeben.