Wie identifiziere ich Dateien / Verzeichnisse, die in einem git hinzugefügt oder entfernt wurden begehen?
Frage
Ich brauche ein Skript zu schreiben, die den Überblick über Dateien und Verzeichnisse hinzugefügt und entfernt von einem git Repo inkrementell hält.
Ich habe zu verwenden versucht:
git log -n1 --pretty="format:" --name-only
Aber das nur sagt mir, welche Dateien begangen wurden. Es ist nicht festgelegt, ob es hinzugefügt oder entfernt wurde.
Irgendwelche Ideen?
Lösung
Die Option, die Sie suchen ist --name-status
. Wie --name-only
ist es eigentlich eine git-diff Option; git-log diejenigen akzeptiert, um zu bestimmen, wie es Patches angezeigt werden.
git log -n 1 --pretty=oneline --name-status
oder äquivalent (minus den Protokoll-Header):
git diff --name-status HEAD^ HEAD
Wie isbadawi weist darauf hin, können Sie auch git-Whatchanged verwenden. Das ist so ziemlich git-log mit einem bestimmten diff Ausgabe:
git whatchanged -n 1
Sie können die --name-status
Version besser gefällt, obwohl, da sie nicht alle das Blob-Hashes nicht zeigen, nur den Menschen lesbaren Status.
Andere Tipps