繁体   English   中英

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

[英]How to find out what files were changed in a git branch (not the difference between two branches)

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

现在我试图弄清楚在处理feature_219分支时哪些文件发生了变化。

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

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

根据git diff文档

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

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

git diff --name-only master...

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

命令git diff A...B应解释为“给我从AB的提交中发生的所有更改”。 如果A不是B的父(在这种情况下),则共同的祖先将用于回答这个问题。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM