9 多人协作
通过远程库的push和pull操作实现夺人合作
推送分支或分支内容
- 当从远程库进行克隆的时候,实际上已经将本地master分支和远程的master分支进行乐关联。
git remote [-v]
可以显示与远程库关联的信息
git push origin master
推送分支,吧分支上的所有本地内容提交到远程库中的相同分支当中。
哪些分支需要推送
- mater分支是主分支,需要实时推送
- dev是开发分支,所有成员都要在上面工作。也需要与远程同步。
- bug分支只需要在本地修复bug,没有必要推送到远程。
- feature分支,可以不用推送到远程。单人开发不用,夺人开发要推送到远程。
抓取分支或者分支的内容
git checkout -b dev origin/dev
可以用来抓取远程分支dev,这样会建立一个本地的本地的dev分支与远程的dev分支进行关联,可以直接实现dev分支的控制(push)
git pull \<remote\> \<branch\>
如果Git push失败,说明,当前的版本不是最新的版本。git pull
可以将远程库中的最新版本拉去到本地。
git branch --set-upstream dev origin/\<branch\>
这样会制定git的本地分支与远程的分支之间的链接。
- 如果git pull有冲突,与分支合并中解决冲突的方法一直。
多人协作的协作模式通常是这样:
- 首先,可以试图⽤git push origin branch-name推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
- 如果git pull提“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。