码迷,mamicode.com
首页 > 其他好文 > 详细

小蚂蚁学习git(4)——多人协作、推送分支、拉取分支、解决冲突

时间:2015-10-26 13:57:12      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

    接上篇(http://my.oschina.net/woshixiaomayi/blog/521706)继续

    八、多人协作

    当从远程库克隆的时候,实际上Git自动的把本地的master分支和远程的master分支对应了起来,远程库的默认名称是origin。

    git remote    查看远程库的信息

    git remote -v    查看远程库的详细信息

    推送分支:

    是把本分支上所有本地内容提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上,命令:

    git push origin master

    一般情况下,哪些分支需要推送呢?1,master分支是主分支,因此要时刻与远程同步。2,一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。

    抓取分支:

    场景:自己的同事clone了远程库testgit的dev分支,进行了修改,并且已经提交。自己也对testgit的dev分支,同样的文件做出来修改,并且尝试提交。

    git push origin dev 可以看到在推送到远程库的时候发生了错误,error :failed to push some refs to ‘https://……‘,原因是,不同的人推送了同样的文件,修改同一个文件的同一个地方。这就造成了冲突,解决的办法也很简单,把远程库中的文件,拉下来,在本地进行合并,解决了冲突,再推送上去即可,命令:

    git pull    把远程库中的文件拉到本地来。但是还是失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据命令下的提示,设置dev和origin/dev的链接,命令:

    git branch --set-upstream dev origin/dev    指定本地dev分支和远程origin/dev的链接

    然后继续拉下来 git pull,下方的提示:Merge conflict in readme.txt 可见还是有冲突的。老办法,进行手工修改,完成后,推送:

    git push origin dev    然后就成功了。

    多人协作的工作模式:

    1,可是试图用 git push origin <branch-name> 推送自己的修改

    2,如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。

    3,如果合并冲突,这需要解决冲突,并在本地提交,再使用 git push origin <branch-name>推送。

    


小蚂蚁学习git(4)——多人协作、推送分支、拉取分支、解决冲突

标签:

原文地址:http://my.oschina.net/woshixiaomayi/blog/522062

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!