git合并分支冲突解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git合并分支冲突解决相关的知识,希望对你有一定的参考价值。

参考技术A

1、执行合并
执行 merge 命令 git merge [有新内容分支名]

2、出现冲突,文件中冲突的表现

3、冲突的解决
3.1 编辑冲突文件,进行人工合并
3.2:git add [文件名] // 这是相对路径,执行命令的文件位置,要保证可以通过文件名能找到这个文件
3.3:git commit -m "日志信息"
3.4 此时 commit 一定不能带具体文件名

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合并分支冲突解决的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )

GitGit 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )

Git分支合并冲突解决(续)

Git合并分支出现的冲突解决

git入门:创建合并分支 解决冲突 分支管理策略

git 怎么提交合并分支的部分代码