Git 合并冲突之后怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 合并冲突之后怎么办?相关的知识,希望对你有一定的参考价值。
参考技术A最近快被这个 conflict 烦死了。接连两个 仓库在推送时候出现了 conflict,一时间不知道怎么处理。很无奈只好在本地硬盘的 git 仓库之外进行保存。但是这个问题不解决真的会逼疯强迫症的。
说的简单一些 就是把冲突解决之后再进行一下正常的提交就可以了。那么问题来了, 如何解决冲突?
其实解决冲突很简单,所谓解决冲突 其实就是把文件变成你想要的模样
当发生冲突之后我们的文件将会变得非常可怕, 我们会看懂里面一堆的 <<<<<<< , ======= , >>>>>>> (每一种都是7个)。初次接触这些东西一定会被搞晕的,尤其是我们的文件比较大,而且冲突比较多的时候更是如此。
那么这里面的 大于号,小于号,等号是什么意思呢?
我们所要做的就是把文件改成我们想要的模样,之后执行一次 git add file 并且正常的进行提交即可。
这个 讲的比较清楚一些,我就是参考这里解决的。
Git 分支的创建、切换、合并以及解决冲突、删除
参考技术A 步骤如下:HEAD指向当前分支bugfix01
使用 git log --pretty=oneline , git log --graph , git log --all 来查看所有分支情况,如图:
bugfix01上的修改已经合并到了master上了
当bugfix01分支和bugfix02分支都对README.md文件进行修改,先把bugfix01上的修改合并到master上,在把bugfix02上的修改合并到master上时发现有冲突
使用 git status 查看当前的状态,然后提示你可以修复该冲突,再使用git commit进行提交,或者使用 git merge --abort 命令放弃本次合并。
打开冲突的文件,从<<<<<<< 开始到 >>>>>>>结尾是冲突的部分,两个分支的内容由=======进行分割。根据具体情况看需要保留哪部分还是都保留。
输入 git mergetool ,然后根据提示输入 opendiff ,mac 下会打开Xcode自带的FileMerge工具。
下面是启动的FileMerge工具,在使用该工具进行文件merge时,可以选择几种文件合并策略(有:1.左边为准,2.右边为准,3.都保留但把左边放在前面,4.都保留但把右边放在前面,5.都不保留)。
上述工具位于Xcode的开发工具中,如下所示:
这边选择了Choose both (left first) ,修改后如图,然后进行提交
如果不需要bugfix01和bugfix02了,可以进行删除操作:
删除成功后,会提示“Deleted branch bugfix01(was 54eb6aa)”,括号里就是删除分支所对应的commit号的前7位。
如果你想删除远端的分支的话,那么得使用 git push origin --delete <分支名> 了。
参考文章: https://www.cnblogs.com/ludashi/p/8093145.html
以上是关于Git 合并冲突之后怎么办?的主要内容,如果未能解决你的问题,请参考以下文章