繁体   English   中英

Git集中工作流程

[英]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 diffgit log进行比较。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM