为什么在线解决冲突会在源分支上生成一个新的合并提交?
文章内容
腾讯云 CODING MR 在线解决冲突场景提交代码时,将会在源分支生成一个新的合并提交(merge commit)。本文将介绍为什么在该场景中,需要在源分支生成一个合并提交以解决冲突。
冲突场景说明
以下以要将源分支 test 中 README.md 文件合入目标分支 master,提交合并请求时代码发生冲突为例,进行冲突场景说明。
此冲突的本质是: test 和 main 这两个分支的 README.md 文件都基于祖先 root 进行了修改,但在合并请求场景下 git 无法比较出哪个分支的文件版本领先,且不允许未经评审的代码直接合入目标分支,所以只能在源分支上修改来解决冲突。需要让 git 识别出在源分支修改所生成的 commit 是领先于目标分支的,因此此时需要通过 merge 来建立这种领先关系。
补充说明:
源分支上 merge 不是解决合并请求冲突的唯一路径,也可将源分支的冲突文件修改得与目标分支完全一致,不具备通用性。
本地合并时,是直接修改的目标分支,平台的合并请求不允许直接修改目标分支,以免逃逸合并请求管控。因此,解决冲突时不会在源分支生成 commit。
问题反馈 >
2024-03-04最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。