如何查找分支中已修改的文件?

42

我有两个分支:master和bug1。我切换到了bug1分支,进行了一系列的更改和多次提交。我如何获取该分支上所有已更改文件的清单?我不关心哈希值、日期或任何其他与提交相关的细节,只想获得被修改的文件的简单列表。

3个回答

71
git diff --name-only master bug1

这对我很有效。这个 Stack Overflow 的链接 https://dev59.com/DWgv5IYBdhLWcg3wYv2i 对我的目的来说有点过度了。Cory 在这里的回答简明扼要,而且在 2015 年 9 月仍然有效! - Eric Hepperle - CodeSlayer2010
9
如果在主分支上添加了提交(与bug1无关),它们也会显示出来吗? - NSjonas
是的,如果你已经拉取并且主分支发生了变化,你会看到类似于“反向差异”的内容。但是理想情况下,如果你从远程拉取了更改并更新了主分支,你也应该将这些更改rebase/ff合并到你的bug1分支中。如果你完成了整个过程,差异会按预期工作。 - Cory Petosky
NSjonas的评论非常准确。有些人只是想知道分支进行了哪些更改。他们不应该必须执行rebase才能找出来。这样做可能会非常破坏性。 - some user

12

来自您的主分支:

git diff --name-status BRANCH

有关详细信息,请参见git diff手册页面


1

在一个被建议为重复的问题上给出的答案,是对这个问题更正确的回答。

如果你按照当前页面上的其他答案进行操作,你的输出中也会包含任何在分支文件修改期间发生的更改。

因此,它们只在您的主干恰好看起来与分支分叉时完全相同的有限情况下才是正确的。

这里的问题指定了它只想要沿着分支修改的文件(即相对于分支和主干的合并基点或“合并基”)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接