显示哪些文件在两个修订之间发生了变化
我想合并已分离一段时间的两个分支,并想知道哪些文件已被修改。
遇到这个链接:http://linux.yyz.us/git-howto.html这是非常有用的。
比较我遇到的分支的工具是:
git diff master..branch
git log master..branch
git shortlog master..branch
想知道是否有像“git status master..branch”这样的东西只能看到两个分支之间不同的文件。
如果不创建新工具,我认为这是您现在可以做到的最接近的工具(当然,如果文件被修改了多次,这将显示重复):
git diff master..branch | grep "^diff"
想知道是否有我错过的东西...
比较当前分支与master
分支
$ git diff --name-status master
比较任何一对分支
$ git diff --name-status firstbranch..yourBranchName
如果我能正确理解你,那就应该做你需要的。
尝试
$ git diff --stat --color master..branchName
这将为您提供有关每次更改的更多信息,同时仍使用相同数量的行。
如果您想以另一种方式合并,您还可以翻转分支以获得更清晰的差异图像:
$ git diff --stat --color branchName..master
另外请记住,git有便宜和容易的分支。 如果我认为合并可能有问题,我为合并创建一个分支。 因此,如果master
有我想要合并的变化,并且ba
是需要来自主人的代码的分支,我可能会执行以下操作:
git checkout ba
git checkout -b ba-merge
git merge master
.... review new code and fix conflicts....
git commit
git checkout ba
git merge ba-merge
git branch -d ba-merge
git merge master
最终的结果是,我必须在我的分支搞砸之前尝试合并丢弃分支。 如果我自己纠结,我可以删除ba-merge
分支并重新开始。
上一篇: Showing which files have changed between two revisions
下一篇: How can I get full content of a git repository with all branches?