我是git的新手,并且正在使用类似于svn的集中式工作流程.我想定期知道我的状态与中央回购的比较.例如,如果我运行以下命令...
$ git clone git@github.com:centralrepo/test.git
$ cd test; <make some changes inside test/>
$ git commit -a
$ git pull
Run Code Online (Sandbox Code Playgroud)
... git pull说"已经是最新的".为什么没有git pull报告更改,如果这是正确的行为,有没有办法知道我的本地与远程同步?
git pull将远程存储库中所做的任何更改提取到您的中,相当于svn update.但是,它不会提到您的末端是否有更改不在遥控器上.您还可以git fetch从远程获取更新,而无需将其应用于工作区.
使用最新版本的git(例如这里的1.7.2.3)git status将打印一些信息以帮助您看到这一点,例如:
# On branch master
# Your branch is behind 'origin/master' by 20 commits, and can be fast-forwarded.
Run Code Online (Sandbox Code Playgroud)
这是在我做了之后显示git fetch并且意味着有等待进入我的工作区的变化(通过执行应用git pull)
相比之下,如果我将它们拉进去并在本地进行更改,请git status告诉我:
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
Run Code Online (Sandbox Code Playgroud)
也就是说,我可以将本地更改推送到远程.我可以通过这样做列出它们git log origin/master..
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |