为何dev分支git status不显示超前提交数?如何查询该分支超前提交数?
问题原因及解决方法
原因分析
你的本地dev分支没有和远程仓库的origin/dev分支建立追踪关系。
Git 要显示「分支超前远程分支X个提交」的提示,前提是本地分支明确知道自己对应的远程分支是谁。master分支是克隆仓库时自动创建的,默认就和origin/master绑定了追踪关系,所以git status能对比并显示超前信息;而你手动创建的dev分支,既没有推送过到远程,也没手动设置追踪,Git 不知道该拿它和哪个远程分支对比,自然不会显示超前提示。从git branch -vv的输出也能看出来:dev行没有像master那样带[origin/master: ahead 8]的追踪标记。
查询本地dev分支超前远程的提交数量
方法1:建立追踪关系后直接查看
先把本地dev推送到远程并绑定追踪:
git push -u origin dev
之后再执行git status或者git branch -vv,就能看到类似ahead X的提示了。
方法2:不推送远程,直接对比计算
如果暂时不想推送到远程,先拉取远程仓库的最新数据:
git fetch origin
然后用以下命令计算本地dev超前origin/dev的提交数:
git rev-list --count origin/dev..dev
这个命令会统计从origin/dev指向的提交到本地dev指向的提交之间的所有提交数量,也就是你本地超前的次数。
内容的提问来源于stack exchange,提问作者janci
相关产品推荐
相关产品推荐

