有没有办法在Git中查看分支上的所有已更改文件?

时间:2011-08-02 13:59:16

标签: git

如果这不是很清楚,但是在Git中,我有一种方法可以通过名称查看分支上所有已更改的文件。 据我所知,我可以使用git log查看在单个提交中已更改的文件,但我希望看到自创建分支以来已经更改的所有文件,通过多次提交。

有git diff但是这也列出了我想要比较的分支中已更改的文件。我想要一个命令,“显示此分支中所有已更改文件的文件名”。

非常感谢

4 个答案:

答案 0 :(得分:45)

假设您在分支foo上,并且您对自master分歧后哪些文件发生了变化感兴趣,您可以这样做:

git diff --name-only master...

(注意三点。)如果你不是foo,你可以使用完整的表格:

git diff --name-only master...foo

我制作了一些解释双点和三点符号的图形,以及它们在git rev-listgit log中的含义之间的差异 - 您可以在this answer中找到它们。 / p>

答案 1 :(得分:1)

不知道有什么东西只根据您当前的分支执行您想要的功能,但如果您知道作为分支的父级的提交ID,则可以执行以下操作:

git diff --name-only <commit id of branch point>..HEAD

答案 2 :(得分:0)

假设您已经检查了您正在处理的分支,并且您希望将其与master进行比较:

git diff --name-only master

答案 3 :(得分:0)

我正在使用此命令查找两个版本之间更改的N个文件列表,此处N为50

git log  --pretty=format: --name-only <SourceBranch>...<TargetBranch> | sort | uniq -c | sort -rg | head -50