SourceTree 解决 git 合并冲突
本文主要根据以下两个场景,介绍SourceTree解决冲突的三种情形
- 本地分支代码合入test 、beta分支
- 拉取master代码分支合入本地分支,
1、 使用他人版本解决冲突(拉取master代码合入本地分支)
使用他人版本解决冲突,会自动将当前分支对应文档更改成他人文档内容,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点;
步骤:点击冲突文件--->解决冲突--->使用他人版本
解决冲突
![](http://upload-images.jianshu.io/upload_images/4307840-844213289cd1431f.png?imageMogr2/auto-orient/strip|imageView2/2/w/1058/format/webp)
使用‘他人版本’解决冲突 示意图
![](http://upload-images.jianshu.io/upload_images/4307840-c3b0fbc1cd3f8df1.png?imageMogr2/auto-orient/strip|imageView2/2/w/1082/format/webp)
冲突解决后
2、 使用自己版本解决冲突 (本地分支代码合入test 、beta 分支)
使用自己版本解决冲突,则对当前分支对应文档不做任何改变
步骤(同上):点击冲突文件--->解决冲突--->使用我的版本
解决冲突
3、 自行修改文档解决冲突 (灵活)
对于要自己修改冲突的文档,自行修改文档,并在修改完成后,将该文档标记为已解决,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点。
![](http://upload-images.jianshu.io/upload_images/4307840-982d5cfb6b15f217.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)
自行修改文档 示意图
大部分情况下,你会知道自己分支中提交的内容,使用自行修改文档解决冲突,可以清晰看出冲突的代码,可以帮助你更准确的解决冲突
合并代码的时候一定要看仔细,避免覆盖别人代码
- 本地分支合并test、beta,遇到冲突,先以
当前
(test、beta)的版本解决冲突,再将自己的代码copy到对应位置 - master代码合入本地分支,遇到冲突,先以
传入
(master)的版本解决冲突,再将自己的代码copy到对应位置 - 版本相差较多的代码合入本地分支时,为了防止版本回退不好用,可以先从
分支
检出一个备份分支test-1,然后将test-1分支推送到远程,以备版本回退使用
作者:Sunny_MYJ
链接:https://www.jianshu.com/p/b2a60c579acf
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。