如何找出git分支中更改的文件(不是两个分支之间的差异)

时间:2015-04-17 14:56:03

标签: git git-branch git-diff

我有一个名为feature_219的分支,它是在不久前从master创建的。自从转移以来,两个分支都改变了许多文件。

现在我想弄清楚在feature_219分支上工作时哪些文件发生了变化。

在做了一些研究之后,我发现git diff --name-only master feature_219可能有所帮助,但事实证明这个命令讲述了两个分支中不同的所有文件。我尝试用这个命令寻找一些选项,但没有任何对我有用。

有没有办法只列出feature_219分支中已更改的文件?

2 个答案:

答案 0 :(得分:4)

根据git diff documentation

git diff --name-only master...feature_219

应该做的伎俩。注意三个点。 如果您目前位于分支feature_219

git diff --name-only master...

就足够了。两个分支的顺序非常重要。在您启动master分支后,在第一次调用中交换两个分支将为feature_219分支提供所有更改。

命令git diff A...B应解释为"给我从AB"时提交的所有更改。如果A不是B的父级(如本例所示),则会使用共同的祖先来回答此问题。

答案 1 :(得分:3)

您可以使用git merge-base查找两个分支的共同祖先,然后获取差异。

git diff --name-only feature_219 $(git merge-base master feature_219)