解决Git的代码合并冲突
概述
两个人都修改了同一个文件,第一个人进行push操作后,如果第二个人也进行push操作,那么第二个人就会出现代码合并冲突同时push失败
情景复现
本地仓库和远程GitHub仓库都有一个名为bbb.txt
的文件,先在GitHub仓库中修改这个文件,然后在本地修改这个文件
本地的bbb.txt文件内容如下:
1 | bbb |
GitHub仓库的bbb.txt文件内容如下:
1 | bbb |
进行add操作
1 | git add . |
进行commit操作
1 | git commit -m "修改bbb.txt" |
进行push操作
1 | git push origin master |
会出现下图的错误,提示我们在再次push前先进行pull操作
解决过程
根据上面的提示进行pull操作
1 | git pull origin master |
然后查看本地的bbb.txt文件的内容,多了一些东西,<<<<<<< HEAD
和=======
之间的内容是本地仓库和远程GitHub仓库冲突的内容(属于本地仓库),=======
和>>>>>>>
之间的内容是远程GitHub仓库和本地仓库冲突的内容(属于远程GitHub仓库)
1 | bbb |
解决冲突的方案有三个:(是修改本地仓库的bbb.txt文件)
以本地仓库的代码为准,修改后的bbb.txt内容如下:
1
2
3bbb
bbb本地库修改
bbb以远程GitHub仓库的代码为准,修改后的bbb.txt内容如下:
1
2
3bbb
bbb
bbb远程库修改都保留,修改后的bbb.txt内容如下:
1
2
3bbb
bbb本地库修改
bbb远程库修改
修改了本地仓库的bbb.txt文件后再次进行add操作
1 | git add bbb.txt |
进行commit操作
1 | git commit -m "以本地仓库的代码为准" |
进行push操作,这次可以push成功了,去GitHub查看结果,bbb.txt的内容已经变成本地仓库的了
1 | git push origin master |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论