关于 git 的基本使用,可以参考 git-简易指南,这篇介绍了git的基本使用,但是对多人协作的时候,合并冲突的解决没有详细的介绍。本文结合自己使用的场景进行介绍
使用场景:
用户A和B在不同的电脑协同工作,使用github进行代码托管,使用仓库seefeelRepo
A对本地仓库(seefeelRepo)的文件X.txt做出了修改;
B也对本地仓库的X.txt做出了修改,修改内容与A不同;
A先把本地修改同步到github;
之后,B要同步本地仓库到github,
一,把远端仓库fetch下来,同时merge
B要做的第一件事就是pull
$ git pull origin master
或者,用fetch + merge
$ git fetch orgin
$ git merge master origin/master
这里,origin/master就是远端(github)上面的仓库,master就是本地的仓库
如果有CONFLICT,接下来会提示
二,找到冲突
上面的意思是说, lecture-3存在冲突,自动合并失败,需要手动解决冲突
接下来执行
$ git diff,它会告诉你那里存在冲突,如下图。
三,解决冲突
接下来,就要编辑这个文件,把冲突的部分解决掉。有必要还要跟协同工作的伙伴沟通一下。
冲突文件大概张成下面的样子
上图中被红框标记的部分,前两个红框之间的部分,是本地的内容。
后两个红框之间的部分,是origin/master远端的内容。怎么修改决定于你。但是最后要把红框红的内容删除
四,CONFLICT解决,同步远端
解决了冲突后,顺序执行add,commit,push到远端
$ git add lecture-3
$ git commit -m “bbbbb"
$ git push origin master
push之后,得到下图所示的内容
这时候如果再用pull指令,会提示already up-to-date
有哪里不清楚,有疑问的,欢迎留言交流
相关文章
- 在不安装sqlite3的时候使用sqlite3数据库以及问题/usr/bin/ld: skipping incompatible.....的解决
- git遇到的问题解决方案
- 多方通话的时候遇到图片回收问题---目前没有方法解决 Canvas: trying to use a recycled bitmap android.graphics.Bitmap
- [git]解决 merge 的时候CONFLICT问题
- 在执行 yum install git 出现问题解决方案
- 当Mongo客户端在启动的时候提示由于目标计算机积极拒绝,无法连接问题解决
- 【git】提交到github不显示贡献小绿点问题的解决
- [2013.10.20]Eclipse配置Git全过程-----------附用EGit不能push的问题解决
- Eclipse配置Git全过程-----------附用EGit不能push的问题解决
- 解决 eclipse 在编译 打包 部署 maven 项目的时候 WEB-INF/lib 为空 没有 jar的问题