我有一个名为feature_219
的分支,它是在不久前从master
创建的。自从转移以来,两个分支都改变了许多文件。
现在我想弄清楚在feature_219
分支上工作时哪些文件发生了变化。
在做了一些研究之后,我发现git diff --name-only master feature_219
可能有所帮助,但事实证明这个命令讲述了两个分支中不同的所有文件。我尝试用这个命令寻找一些选项,但没有任何对我有用。
有没有办法只列出feature_219
分支中已更改的文件?
答案 0 :(得分:4)
git diff --name-only master...feature_219
应该做的伎俩。注意三个点。
如果您目前位于分支feature_219
git diff --name-only master...
就足够了。两个分支的顺序非常重要。在您启动master
分支后,在第一次调用中交换两个分支将为feature_219
分支提供所有更改。
命令git diff A...B
应解释为"给我从A
到B
"时提交的所有更改。如果A
不是B
的父级(如本例所示),则会使用共同的祖先来回答此问题。
答案 1 :(得分:3)
您可以使用git merge-base
查找两个分支的共同祖先,然后获取差异。
git diff --name-only feature_219 $(git merge-base master feature_219)