[英]Git with centralized workflow
我是git的新手,并且正在使用类似于svn的集中式工作流程。 我想定期知道我的状态与中央回购的比较。 例如,如果我运行以下命令...
$ git clone git@github.com:centralrepo/test.git
$ cd test; <make some changes inside test/>
$ git commit -a
$ git pull
... 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.
这是在我执行git fetch
之后显示的,这意味着有等待进入我的工作区的更改(通过执行git pull
)
相比之下,如果我把它们拉进来并在本地进行更改, git status
告诉我:
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
也就是说,我可以将本地更改推送到远程。 然后我可以通过git log origin/master..
列出它们git log origin/master..
“git pull”命令只是从远程仓库中提取更改并将它们合并到您的本地分支中。
如果你想看到差异,你应该使用git br -a列出远程分支,然后git diff你的本地分支正在跟踪的远程分支。
只需使用git fetch
更新本地存储库中的远程分支。 该对话框将显示是否有下载的内容,然后使用git diff
或git log
进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.