文档说明:
-
该文档目的解决网页拣选(cherry-pick)冲突无法合并问题
-
网页无法解决冲突问题,需要回到本地的SourceTree解决
-
分支在来回切换过程中,没特殊需求不要点击唤醒Unity,不然会在两个分支间编译过程会非常占用时间.可以处理完冲突,切回原有分支再正常使用Unity工作
名词介绍:
- 远端目标分支: 最终打算拣选合并进的分支
- 本地目标分支:打算在该分支上解决冲突,用来推送到远端目标分支最终合并.
- 注: 由于远端合并规则限制,该分支必须是从远端目标分支检出(checkout)的个人分支
- 本地分支: 目前提交并使用的个人分支
- ST: SourceTree
步骤流程:
-
ST 切换到本地目标分支
存在: 直接切换到该分支,切换失败,处理干净本地分支未提交内容即可重新切换
不存在: 从远程目标分支检出 -
在ST 界面所有分支提交信息里找到需要拣选的提交,右键"拣选". 此时会有冲突显示
解决冲突,选择冲突文件右键解决冲突. Lua和C#一般使用工具合并,预制体(Prefab)使用覆盖方式.不确定的需要找到冲突的人去商量解决方案
"打开外部合并工具" 手动合并解决冲突内容
"使用 我的版本 解决冲突" 用本地目标分支的内容覆盖拣选
"使用 他人版本 解决冲突" 用拣选的内容覆盖本地目标分支 -
提交本地目标分支,撰写提交信息,正常提交到远端
-
网页合并到远端目标分支,冲突解决
-
切换回个人的本地分支,流程结束