Azure DevOps cherry-pick冲突:如何将feature分支合并至beta分支
解决跨分支cherry-pick冲突并合并变更的步骤
不用折腾临时分支,直接在本地处理冲突更高效,按以下步骤来:
先同步本地仓库,拉取最新的beta分支
git checkout beta git pull origin beta创建一个基于beta的专属工作分支(避免直接修改beta主分支)
git checkout -b feature1-for-beta找出feature1FromDemo上属于你功能的提交
要排除demo分支原本的代码,只选你在feature1FromDemo上新增的提交,用这个命令列出:git log feature1FromDemo --not demo把输出里的提交哈希(比如你提到的00373b)记下来。
逐个cherry-pick提交并手动解决冲突
对每个目标提交执行:git cherry-pick 00373b碰到冲突时,Git会告诉你哪些文件有问题。打开这些文件,找到
<<<<<<<(当前分支内容)、=======(分隔线)、>>>>>>>(要cherry-pick的提交内容)标记的部分,手动调整代码——保留beta分支的基础逻辑,加上feature1的功能变更即可。所有冲突文件改完后,执行:
git add <冲突文件名> git cherry-pick --continue如果中途想放弃这次操作,用
git cherry-pick --abort重置到操作前的状态。推送分支并发起PR
所有提交都处理完后,把分支推到远程:git push origin feature1-for-beta然后在Git平台上从
feature1-for-beta向beta分支发起PR就行。
内容的提问来源于stack exchange,提问作者Vivek Nuna
相关产品推荐
相关产品推荐

