CB *_*ley 949
你在找git merge-base
.用法:
$ git merge-base branch2 branch3
050dc022f3a65bdc78d97e2b1ac9b595a924c3f2
Run Code Online (Sandbox Code Playgroud)
Cir*_*四事件 36
git diff master...feature
显示当前(可能是多次提交)功能分支的所有新提交.
man git-diff
文件:
git diff A...B
Run Code Online (Sandbox Code Playgroud)
是相同的:
git diff $(git merge-base A B) B
Run Code Online (Sandbox Code Playgroud)
但是...
更容易打字和记忆.
如Dave所述,HEAD
可以省略特殊情况.所以:
git diff master...HEAD
Run Code Online (Sandbox Code Playgroud)
是相同的:
git diff master...
Run Code Online (Sandbox Code Playgroud)
如果当前分支是足够的feature
.
最后,请记住订单很重要!执行git diff feature...master
将显示master
未打开的更改feature
.
我希望更多git命令支持该语法,但我认为它们不支持.有些甚至有不同的语义...
:Git提交范围内的双点".."和三点"......"之间有什么区别?
Acu*_*nus 23
如前面的答案中所述,git merge-base
作品:
$ git merge-base myfeature develop
050dc022f3a65bdc78d97e2b1ac9b595a924c3f2
Run Code Online (Sandbox Code Playgroud)
但如果myfeature
是当前分支,通常情况下,您可以使用--fork-point
:
$ git merge-base --fork-point develop
050dc022f3a65bdc78d97e2b1ac9b595a924c3f2
Run Code Online (Sandbox Code Playgroud)
这个论点只适用于最新版本的git.不幸的是,它并不总是有效,并且不清楚为什么.请参阅本答案末尾所述的限制.
有关完整提交信息,请考虑:
$ git log -1 $(git merge-base --fork-point develop)
Run Code Online (Sandbox Code Playgroud)
Mar*_*n G 11
随着gitk
您可以图形方式查看两个分支:
gitk branch1 branch2
Run Code Online (Sandbox Code Playgroud)
然后在两个分支的历史中很容易找到共同的祖先.
归档时间: |
|
查看次数: |
137104 次 |
最近记录: |