git手动解决内容冲突

来源:互联网 发布:支持windows的手机 编辑:程序博客网 时间:2024/06/10 14:01
<span style="font-size:18px;">git checkout -b lab4 origin/lab4git merge lab3</span>


执行上面2条命令是创建一个新的本地分支lab4,并且将分支origin/lab4的内容放到新分支lab4中,最后将本地lab3分支的内容合并到新创建的本地lab4分支中。

合并过程中若出现冲突,比如:

<span style="font-size:18px;">Auto-merging lib/syscall.cAuto-merging lib/printfmt.cAuto-merging kern/trapentry.SAuto-merging kern/trap.cCONFLICT (content): Merge conflict in kern/trap.cAuto-merging kern/syscall.cAuto-merging kern/pmap.cCONFLICT (content): Merge conflict in kern/pmap.cAuto-merging kern/init.cCONFLICT (content): Merge conflict in kern/init.cAuto-merging kern/env.cCONFLICT (content): Merge conflict in kern/env.cAuto-merging kern/console.cCONFLICT (content): Merge conflict in kern/console.cAutomatic merge failed; fix conflicts and then commit the result.</span>

我们需要消除冲突,手动消除冲突的方法:

1. 打开编辑冲突的文件,kern/trap.c,对于形如这样的冲突结构进行处理:

<span style="font-size:18px;">hello<<<<<<< HEADworld=======hadoop>>>>>>> lab3next</span>

介于 <<<<<<<(七个‘<’) HEAD  和 ======= 的内容是lab4中原有的内容:world

介于 ======= 和 >>>>>>> lab3 的内容是lab3中原有的内容:hadoop

这样标记表示 将lab3中的内容整合进lab4中的过程中,上述标记的2块内容会发生冲突,解决办法就是我们手动编辑去掉冲突,即先编辑冲突,然后git commit提交。

注:对于git来讲,编辑冲突跟平时的修改代码没什么差异。修改完成后,都是要把修改添加到缓存,然后commit。



1 2