Antworten:
git ls-tree -r --name-only <commit>(wo statt <commit>da sein kann <branch>). -tOption verwenden, mit der Unterverzeichnisse aufgelistet werden, bevor Sie in diese absteigengit diff <branchA>:<fileA> <branchB>:<fileB>, git diff <branchA> <branchB> -- <file>So vergleichen Sie dieselbe Datei aus verschiedenen Zweigen:
git diff branch_1..branch_2 file.txt
So listen Sie alle Dateien in einem Baumobjekt auf:
git ls-tree -r branch
ls, dass du das -treeam Ende vergessen hast :)
Zum Auflisten aller im neuen Zweig hinzugefügten Dateien
git diff --name-only branch1 master
Zum Auflisten können Sie git ls-filesalle Dateien rekursiv im aktuellen Index- / Arbeitsverzeichnis auflisten . Sie können auf Git-SCM Docs / git-ls-files verweisen oder tippen, man git-ls-fileswenn Sie Git installiert haben und Manpages verfügbar sind.
Es hat schöner Optionen Dateien auf unterschiedliche Weise zu zeigen , wie cached, staged, deleted, modified, ignoredoder othersfür die untracked. Es unterstützt auch passende Muster. Nachdem auch eine --debugarg, können Sie einfach auflisten creation time, modification time, inode id, owner & group id, sizeund flagsfür Dateien.
Verwenden Sie für den Unterschied zwischen zwei Zweigen einfach git diff <branch> <other branch>wie in anderen Antworten angegeben.
git ls-filesgit ls-fileses im git-scm-Dokument :# Switch to <branch> of interest
$ git checkout <branch>
# List all files in <branch>
$ git ls-files
Weitere Optionen finden Sie in der Dokumentation .