在master和branch之间的git前面/后面的信息?
我已经创build了一个分支在我推到Github本地回购( test-branch ) test-branch 。 
 如果我去我的Github帐户,并select这个test-branch它显示的信息: 
 This branch is 1 commit ahead and 2 commits behind master 
我的问题是:
-  我怎样才能在本地显示这个信息(即:在terminal上显示这个信息的命令,而不是打开Github看到它)?
- 
我知道我可以看到分支之间的差异使用: git diff master..test-branch或使用 Meld(我更喜欢):git difftool master..test-branch但我想知道是否有办法看到前面和后面的承诺分开。 IE:有没有一种方法可以certificate1自己承诺 ,然后自己承诺呢? 
这里有一个技巧,我发现在本地比较两个分支(任何两个),并显示多less提交每个分支领先于另一个(更一般的答案在您的问题1):
 git rev-list --left-right --count master...test-branch 
这给你输出像
 1 7 
这意味着:和主人相比,testing分支有7个提交,1个提交
 您也可以比较origin/master...master等分支来查找分支在其远程分支前后的提交数量 
 首先要看看你在本地有多less修改,你应该做一个git fetch来确保你有远程的最新信息。 
  git status的默认输出告诉你前后有多less个修订,但通常我觉得这太冗长了: 
 $ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 2 and 1 different commit each, respectively. # nothing to commit (working directory clean) 
 我更喜欢git status -sb : 
 $ git status -sb ## master...origin/master [ahead 2, behind 1] 
 事实上,我只是简单地将它git s ,这是我用来检查状态的主要命令。 
 要看到master的“提前修订”中的diff,我可以从origin/master排除“后面的修改”: 
 git diff master..origin/master^ 
 要看到origin/master的“修订版本”中的差异,我可以排除origin/master的“提前修订”: 
 git diff origin/master..master^^ 
如果前面或后面有5个修改版本,可能会更容易这样写:
 git diff master..origin/master~5 git diff origin/master..master~5 
UPDATE
 要查看提前/后退修订,分支必须configuration为跟踪另一个分支。 对我来说,这是我克隆远程存储库时的默认行为,并在我用git push -u remotename branchname推分支git push -u remotename branchname 。 我的版本是1.8.4.3,但只要我记得它一直在这样工作。 
从版本1.8开始,您可以像这样设置跟踪分支:
 git branch --track test-branch 
从版本1.7开始,语法是不同的:
 git branch --set-upstream test-branch 
使用Git 2.5+,您现在可以看到所有分支被推送到分支的其他选项。
 git for-each-ref --format="%(push:track)" refs/heads 
请参阅“ 查看未压缩的Git提交 ”
在完成git fetch之后,可以运行git status来显示本地分支在分支的远程版本之前或之后的提交数量。
这不会告诉你在一个不同的分支前面或后面有多less个提交。 你的select是完全不同的,看github,或使用像上面链接Vimhsa的解决scheme: 所有回购的Git状态
这可能不会直接回答你的问题,但为什么不使用SourceTree