目录
- 一、问题描述
- 二、冲突解决
- 1、提交文件
- 2、发现冲突
- 3、解决冲突
- 4、重新提交
- 三、网站推荐
一、问题描述
使用git管理项目,多人克隆仓库到本地在同一个分支上进行开发。某次修改代码后准备推送版本到远程仓库时遇到分支代码冲突,也就是同事A修改了test.txt,同事B也修改了test.txt,两人依次推送到远程仓库时产生冲突。
二、冲突解决
协同开发时会经常遇到这类问题,这里提供一个纯手工解决此类冲突的流程。
1、提交文件
添加修改到暂存区:
git add target_file_name
提交修改到本地仓库:
git commit -m "注释信息"
推送到远程仓库:
git push origin branch_name
2、发现冲突
push操作之后会有冲突提示:
3、解决冲突
拉取远程仓库代码到本地:
git pull
git会提示有冲突的文件
修改冲突文件:
vim gitMerge.txt
任何因包含合并冲突而有待解决的文件,都会以未合并状态标识出来。 Git 会在有冲突的文件中加入标准的冲突解决标记,这样你可以打开这些包含冲突的文件然后手动解决冲突。 出现冲突的文件会包含一些特殊区段,看起来像下面这个样子:
为了解决冲突,你必须选择使用由 ======= 分割的两部分中的一个,或者你也可以自行合并这些内容。 例如,你可以通过把这段内容换成下面的样子来解决冲突:
上述的冲突解决方案仅保留了其中一个分支的修改,并且 <<<<<<< , ======= , 和 >>>>>>> 这些行被完全删除了。 在你解决了所有文件里的冲突之后,对每个文件使用 git add 命令来将其标记为冲突已解决。 一旦暂存这些原本有冲突的文件,Git 就会将它们标记为冲突已解决。
4、重新提交
在解决了对应文件的冲突之后,我们需要再次将修改的文件保存到暂存区、提交到本地仓库、推送到远程仓库,这样的一个流程之后对应的文件冲突就成功解决了,代码也能够成功的推送到远程仓库了。