Gibt es eine Möglichkeit zu sehen, welche Dateien in einem Zweig geändert wurden?
Antworten
Zu viele Anzeigen?Was wäre, wenn es so einfach wäre wie das hier?
git changed
Wenn Sie davon ausgehen, dass der Hauptzweig "master" heißt und Sie Ihre anderen Zweige von "master" aus erstellen, dann können Sie diesen Alias zu Ihrem ~/.gitconfig
Datei, um es so einfach zu machen:
cbranch = !"git branch | grep '*' | cut -f2 -d' '"
changed = !"git diff --name-only $(git cbranch) $(git merge-base $(git cbranch) master)"
Diese Annahmen werden für die meisten Menschen in den meisten Situationen funktionieren, aber Sie müssen sich bewusst sein, dass Sie sie machen.
Außerdem müssen Sie eine Shell verwenden, die Folgendes unterstützt $()
. Es ist sehr wahrscheinlich, dass Ihre Shell dies unterstützt .
Aus irgendeinem Grund hat niemand erwähnt git-tree
. Véase https://stackoverflow.com/a/424142/1657819
git-tree
wird bevorzugt, weil es sich um eine Klempnerarbeiten Befehl; soll programmatisch sein (und vermutlich auch schneller)
(unter der Annahme, dass die Basisverzweigung master
)
git diff-tree --no-commit-id --name-only -r master..branch-name
Dies wird Ihnen jedoch zeigen todos Dateien, die in der Verzweigung betroffen waren, wenn Sie explizit sehen wollen geändert nur Dateien, können Sie --diff-filter
:
git diff-tree --no-commit-id --name-only -r master..branch-name --diff-filter=M
Man kann auch verwenden --name-status
anstelle von --name-only
um den Status der Dateien zu sehen ( A
/ M
/ D
und so weiter)