[git]解决 merge 的时候CONFLICT问题

时间:2023-01-21 23:06:08
关于 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就是本地的仓库 [git]解决 merge 的时候CONFLICT问题
如果有CONFLICT,接下来会提示 [git]解决 merge 的时候CONFLICT问题

二,找到冲突 上面的意思是说, lecture-3存在冲突,自动合并失败,需要手动解决冲突 接下来执行  $ git diff,它会告诉你那里存在冲突,如下图。 [git]解决 merge 的时候CONFLICT问题

三,解决冲突 接下来,就要编辑这个文件,把冲突的部分解决掉。有必要还要跟协同工作的伙伴沟通一下。 冲突文件大概张成下面的样子 [git]解决 merge 的时候CONFLICT问题
上图中被红框标记的部分,前两个红框之间的部分,是本地的内容。 后两个红框之间的部分,是origin/master远端的内容。怎么修改决定于你。但是最后要把红框红的内容删除

四,CONFLICT解决,同步远端 解决了冲突后,顺序执行add,commit,push到远端 $ git add lecture-3 $ git commit -m “bbbbb" $ git push origin master push之后,得到下图所示的内容 [git]解决 merge 的时候CONFLICT问题

这时候如果再用pull指令,会提示already up-to-date [git]解决 merge 的时候CONFLICT问题

有哪里不清楚,有疑问的,欢迎留言交流