我看过关于使用的各种SO答案git diff
和 git 修订(HEAD、ORIG_HEAD、FETCH_HEAD 等),我仍然没有找到一种简单的方法来列出自本地分支开始或自上次 rebase 以来所做的更改。
By easy我的意思是,无需查找并粘贴提交 SHA,也不必计算我想要回顾的提交数量。
git diff origin/master
很接近,但它指的是远程,自从我从中签出新分支以来,远程可能已经分歧。
我期待类似的东西git diff BASE_HEAD
可用。
...除非已经有办法做到这一点。有人有答案吗?
您可以找到分支点 using git merge-base
。考虑master
主线和dev
您感兴趣的历史分支。找到其中的点dev
是从master
, run:
git merge-base --fork-point master dev
我们现在可以比较dev
在此基础上:
git diff $(git merge-base --fork-point master dev)..dev
If dev
is the 当前分支这简化为:
git diff $(git merge-base --fork-point master)
欲了解更多信息,请参阅git-merge-base文档 http://www.git-scm.com/docs/git-merge-base.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)