本文主要根据以下两个场景,介绍SourceTree解决冲突的三种情形
- 本地分支代码合入test 、beta分支
- 拉取master代码分支合入本地分支,
1、 使用他人版本解决冲突(拉取master代码合入本地分支)
使用他人版本解决冲突,会自动将当前分支对应文档更改成他人文档内容,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点;
步骤:点击冲突文件--->解决冲突--->使用他人版本
解决冲突
2、 使用自己版本解决冲突 (本地分支代码合入test 、beta 分支)
使用自己版本解决冲突,则对当前分支对应文档不做任何改变
步骤(同上):点击冲突文件--->解决冲突--->使用我的版本
解决冲突
3、 自行修改文档解决冲突 (灵活)
对于要自己修改冲突的文档,自行修改文档,并在修改完成后,将该文档标记为已解决,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点。
大部分情况下,你会知道自己分支中提交的内容,使用自行修改文档解决冲突,可以清晰看出冲突的代码,可以帮助你更准确的解决冲突
合并代码的时候一定要看仔细,避免覆盖别人代码
- 本地分支合并test、beta,遇到冲突,先以
当前
(test、beta)的版本解决冲突,再将自己的代码copy到对应位置 - master代码合入本地分支,遇到冲突,先以
传入
(master)的版本解决冲突,再将自己的代码copy到对应位置 - 版本相差较多的代码合入本地分支时,为了防止版本回退不好用,可以先从
分支
检出一个备份分支test-1,然后将test-1分支推送到远程,以备版本回退使用