git merge 冲突及解决

        今天在使用 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,尾部的 >>>>>>> 远程分支名

git merge 冲突及解决_第1张图片

git merge 冲突及解决_第2张图片 

git merge 冲突及解决_第3张图片 

在冲突文件中会有如上 3 个标识,从 <<<<<< HEAD 到 ======= 之间的代码为你本地分支的代码,而从 ======= 到最后的 >>>>>>> 远程分支名 为远程分支的代码。我不知道用命令行怎么解决,其他工具也没用过,所以使用了最笨的方法,把 ======= 分开的代码分别保存到两个文件中,进行进行比较,把我本地多出来的代码拷贝到另外一个文件即可。 

如左边为本地分支代码,右边为远程分支代码,本地没有而远程有的,不改动。

 而下面这个,本地分支代码新加的直接拷贝过去。git merge 冲突及解决_第4张图片

 然后把最新修改的冲突文件保存,还需要 git add 冲突文件,然后 git commit -m "xxx" 提交,最后 git push 上远程仓库。

你可能感兴趣的:(Git,git)