如何列出我提交到特定分支的所有文件?我已经向分支提交了大约 40 多个文件,我需要找到文件名,因为我正在尝试调试某些东西,当我不记得文件名时很难做到这一点。
git log
只给我一长串提交,而不是实际的文件。
你尝试过 git ls-tree 吗?
git ls-tree --name-only -r <branch_name>
--name-only 仅提供文件名。 -r 递归到子目录。
如果您希望在递归之前列出子目录的名称,请将 -t 添加到参数列表中。
git log --name-only
为我工作。
如果您的分支源自
master
,您可以使用此命令列出分支后添加的所有新文件:
git diff master...new-branch --name-status --diff-filter=A
--diff-filter
的可用过滤器有:
Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R)
git log --name-status
将给出每次提交中更改的文件的名称和状态
git log --name-only
这对我有用。
如果您想知道自分支以来修改的所有不同文件,这个可能很有用:
git log --name-status 开发...分支名称 | grep -E "^[AMD]\s" | grep -E "^[AMD]\s" | 排序-u
这个变体将列出 you 修改过的子集:
git log --name-status 开发...branchname --author= | grep -E "^[AMD]\s" | grep -E "^[AMD]\s" |排序-u
尝试使用smartgit。它是 git 的 GUI 客户端。它有非常有用的用户界面,并且免费供非商业用途。
git diff development...crmq-2405 --name-status --diff-filter=A
将列出已添加到新分支但不在邮件中的所有文件 - 在本例中为
development
主分支。
git diff development...crmq-2405 --name-status
此变体将显示新分支中的所有文件
通用形式:
git diff main_branch...new_branch --name-status
是的,顺序确实很重要。