有没有一种快速的方法可以从点或分支原点“git diff”?

2024-03-29

我看过关于使用的各种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(使用前将#替换为@)

有没有一种快速的方法可以从点或分支原点“git diff”? 的相关文章

随机推荐