首先,要查看您在本地留下了多少修订,您应该执行一次操作git fetch
,以确保您具有来自远程的最新信息。
默认输出为,git status
告诉您您要进行多少次修订,但通常我觉得这太冗长了:
$ 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]
实际上,我将其别名为simple git s
,这是我用来检查状态的主要命令。
要查看的“修订版”中的差异master
,我可以从origin/master
以下内容中排除“修订版” :
git diff master..origin/master^
要查看的“后续修订”中的差异origin/master
,我可以从master
以下项目中排除“提前修订” :
git diff origin/master..master^^
如果前后有5个修订,则可能更容易这样写:
git diff master..origin/master~5
git diff origin/master..master~5
更新
要查看前后版本,必须将分支配置为跟踪另一个分支。对我来说,这是克隆远程存储库时以及使用推送分支后的默认行为git push -u remotename branchname
。我的版本是1.8.4.3,但只要我记得,它就一直在这样工作。
从1.8版开始,您可以这样设置跟踪分支:
git branch --track test-branch
从1.7版开始,语法有所不同:
git branch --set-upstream test-branch