首页 > 其他 > 详细

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

时间:2015-10-26 13:56:39      阅读:326      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!