如何找到提交给分支的文件列表?

iCo*_*unk 23 git commit git-svn

如何列出我提交给特定分支的所有文件?我已经向分支机构提交了大约40多个文件,我需要找到文件名,因为我正在尝试调试某些东西,当我不记得文件名时很难做到.

git log 只给我一长串提交但不是实际文件.

Car*_*arl 22

你试过git ls-tree吗?

git ls-tree --name-only -r <branch_name> 
Run Code Online (Sandbox Code Playgroud)

--name-only仅为您提供文件名.-r递归到子目录.

如果要在递归之前列出子目录的名称,请将-t添加到参数列表中.

  • 我从我的分支中得到了大量文件的列表,而不仅仅是少数文件。`git log --name-only` 看起来是查看分支中提交修改的文件的合适答案 (3认同)
  • `git ls-tree --name-only $branch $directory/` 用于特定目录的列表 (2认同)

KL-*_*L-7 14

如果您的分支派生自master您,则可以使用此命令列出分支后添加的所有新文件:

git diff master...new-branch --name-status --diff-filter=A
Run Code Online (Sandbox Code Playgroud)

可用的过滤器--diff-filter是:

Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R)
Run Code Online (Sandbox Code Playgroud)


Jay*_*enu 12

git log --name-only 为我工作.


Dor*_*mer 8

git log --name-status 将在每次提交中给出更改文件的名称和状态


Gre*_*ill 5

git ls-files命令列出了当前分支上最新提交中存在的所有文件。

或者,您可以git diff --name-only用来显示任意两个任意提交之间不同的文件列表。