git branch
会显示我们之前和之后
master 03ea915f82 [behind 16] test
我认为这意味着master
落后于16的remote/origin/master
?
这是不可能从仅此告诉。计数是针对分支主机的任何设置为上游。随着-vv
,包括上游的名字:
$ git branch -vv
* master e0688e9b2 [origin/master: behind 479] git svn: fix
stash-exp 8dbdf339c [origin/master: ahead 1, behind 1142] st
注意两个分支在这里有origin/master
作为其上游,但stash-exp
更落后比master
是(和stash-exp
也领先 1)。
是否可以显示我们之前和之后的本地分支之间?
是的 - 但你只得到一个每个分支上游。如果您当地的分支机构A
的上游设置为本地分支B
,你看到的只是如何远远领先或落后A
相对于B
,而不是origin/A
。
你可以计算自己计数。什么都git branch
和git status
在这里做的是运行(内部的等效)git rev-list --count
:
$ git rev-list --count stash-exp..origin/master
1142
$ git rev-list --count origin/master..stash-exp
1
这是两个罪名git branch -vv
打印。我们可以同时获得两个:
$ git rev-list --count --left-right stash-exp...origin/master
1 1142
注意的三个点在这里,这产生对称差:承诺从任一分支尖端到达,但不能从两个分支的提示。使用--count
代码在git rev-list
计数两个分开时--left-right
,并打印在左侧和右侧的右侧计数(1142)的左手侧计数(1)。交换左,右两侧和计数交换:
$ git rev-list --count --left-right origin/master...stash-exp
1142 1
如果我想找到两个地方分支机构之间的关系,如master
和stash-exp
,我在这里可以使用这些:
$ git rev-list --count --left-right master...stash-exp
663 1
告诉我从master
的提示可以获得663次提交,从stash-exp
的提示无法访问,并且从stash-exp
的提示可以达到1提交,这是从master
的提示无法访问的。
你确定你想要它吗?我已经看到了关于如何完成这个的说明,但是知道'git pull'等简单的命令现在也会考虑这个远程分支。换句话说,如果你正在开发并发布git pull,那么你将会从主服务器中拉出来。 –
'发展中的大师'......这对我来说毫无意义。通常情况下,您会在'master'上重新开发'develop',然后将前者与前者快速前进。 –
'git merge-base master develop' ...这至少会向你展示最近的共同祖先提交。然后你可以计算在这个和'master'和'develop'分支的提示之间有多少提交。这会给你一个关于rebase可能有多粗糙的想法。 –