今天在使用 git merge xx 的时候产生了冲突,需要手动解决,记录如下。首先记录一下 git merge 操作过程:
1,切换到要从哪个merge过来的分支上,如:
git checkout feature/v1.00-develop
2,切换分支后,更新分支到最新版本,如:
git pull origin feature/v1.00-develop
3,切换回需要merge的分支上,如:
git checkout individual/v1.00-develop
4,进行merge 操作,如:
git merge feature/v1.00-develop
经过以上几步操作,即可将 feature/v1.00-develop merge 到 individual/v1.00-develop 分支上,然后再 git push 操作。如果直接操作第 4 步,可能 就会产生冲突,因为远程分支已经有修改,而你本地分支有同一个文件的修改,这样merge是无法完成的。
冲突文件的构成有 3 个标记符:
1,头部的 <<<<<<< HEAD
2,中间的 =======
3,尾部的 >>>>>>> 远程分支名
在冲突文件中会有如上 3 个标识,从 <<<<<< HEAD 到 ======= 之间的代码为你本地分支的代码,而从 ======= 到最后的 >>>>>>> 远程分支名 为远程分支的代码。我不知道用命令行怎么解决,其他工具也没用过,所以使用了最笨的方法,把 ======= 分开的代码分别保存到两个文件中,进行进行比较,把我本地多出来的代码拷贝到另外一个文件即可。
如左边为本地分支代码,右边为远程分支代码,本地没有而远程有的,不改动。
而下面这个,本地分支代码新加的直接拷贝过去。
然后把最新修改的冲突文件保存,还需要 git add 冲突文件,然后 git commit -m "xxx" 提交,最后 git push 上远程仓库。
版权归原作者 猿来是码农 所有, 如有侵权,请联系我们删除。