当我的master副本与origin / master分歧并且我调用git status
时,状态输出包括如下摘要:
Your branch and 'origin/master' have diverged,
and have 3 and 2 different commits each, respectively
如何比较两个不同的本地分支?
例如。对于两个分支,生产和实验:
'production' and 'experimental' have diverged,
and have 3 and 24 different commits each, respectively
到目前为止,我发现的最接近的东西(我认为,并且可以编写脚本)的效果非常好:
$ git rev-list production..experimental | wc -l
24
$ git rev-list experimental..production | wc -l
3
答案 0 :(得分:1)
正如您所发现的,git rev-list
是正确的命令。您可以通过向--count
参数添加git rev-list
来简化所选修订的计数。 A..B
和B..A
样式修订选择器是正确的,因为它们表示“从第二个修订可以到达的所有提交的集合,减去从第一个修订可到达的所有提交的集合”,这是你想要什么(以及git status
使用的内容)。