一.git pull 冲突
下面测试文件都用test.md
1.制造冲突
1.1远程仓库用的是码云,地址:https://gitee.com/
1.2本地与远程仓库同时更新同一个文件,然后保存
1.3命令行执行git pull同步远程仓库与本地的代码,发现
error: Your local changes to the following files would be overwritten by merge:
test.md
2.解决冲突
2.1命令行执行git add test.md,将冲突的文件添加到暂存区
2.2命令行执行git commit -m ‘冲突文件提交’,将暂存区的冲突文件提交到仓库区
2.3命令行执行git pull同步远程仓库与本地的代码
Auto-merging pom.xml
CONFLICT (content): Merge conflict in pom.xml
Automatic merge failed; fix conflicts and then commit the result.
更新后你的本地分支上会出现 (dev-test-one|MERGING)类似这种标志
2.4找到你本地的test.md文件,并打开
这种标记,<<<<<<< HEAD和=======中间的是你自己的代码, ======= 和>>>>>>>是别人提交到远程仓库的代码
自己确定需要保留的代码,最后删除<<<<<<< HEAD ,======= ,>>>>>>>这种标志
3.提交到远程仓库
3.1命令行执行git add test.md,将修改完的文件添加到暂存区
3.2命令行执行git commit -m ‘冲突解决完毕’,再次将本地的test.md文件提交
3.3命令行执行git push,将解决冲突后的文件推送到远程
4.查看远程仓库文件
冲突解决完毕
二.git merge 冲突
下面测试文件都用test.md
1.制造冲突
1.1远程仓库用的是码云,地址:https://gitee.com/
1.2在不同的分支同时修改同一个文件(test.md)
1.3命令行执行git merge dev-two,把dev-two这个分支合并到当前所在的分支下,发现
CONFLICT (content): Merge conflict in test.md
Automatic merge failed; fix conflicts and then commit the result.
2.解决冲突
2.1找到你本地的test.md文件,并打开
这种标记,<<<<<<< HEAD和=======中间的是当前分支的代码, ======= 和>>>>>>> dev-two中间的是合并分支的代码
自己确定需要保留的代码,最后删除<<<<<<< HEAD ,======= ,>>>>>>> dev-two这种标志
3.提交到远程仓库
3.1命令行执行git add test.md,将修改完的文件添加到暂存区
3.2命令行执行git commit -m ‘冲突解决完毕’,再次将本地的test.md文件提交
3.3命令行执行git push,将解决冲突后的文件推送到远程
4.查看远程仓库文件
冲突解决完毕
三.总结
冲突解决本身不是一个很麻烦的事情,但是当冲突内容非常多的时候,解决起来就需要比较细心,并且需要知道哪些是需要保留的