You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将dev分支的单个commit挑选至main分支?(Azure DevOps/GitHub Desktop)

单个Commit合并到Main分支的操作方法

问题根源

你之前的操作错误在于新分支是基于Dev创建的,所以分支历史默认包含Dev的所有commit。正确的做法是基于Main创建新分支,再把目标Commit单独挑过来。


GitHub Desktop 操作步骤

  1. 打开GitHub Desktop,拉取所有远程最新代码,切换到main分支,确保本地代码和远程一致。
  2. 点击“分支”→“新建分支”,分支基于main创建,命名比如cherry-pick-[commit描述],创建后自动切换到这个新分支。
  3. 切换到dev分支,在“历史”列表里找到目标Commit,右键点击它,选择“复制SHA”(或者手动记下一串字母数字的SHA值)。
  4. 点击顶部菜单“仓库”→“在终端中打开”,在终端里执行命令:
    git cherry-pick <你复制的SHA值>
    
  5. 如果出现冲突,回到GitHub Desktop里解决冲突,解决后提交到当前的新分支。
  6. 点击“推送 origin”把新分支推到远程,然后点击“创建拉取请求”,选择目标分支为main,提交PR等待审核合并即可。

Azure DevOps 操作步骤

  1. 打开Azure DevOps仓库页面,切换到main分支,确认代码是最新的。
  2. 点击“分支”→“新建分支”,选择基于main创建,命名比如cherry-pick-target,创建完成。
  3. 回到仓库的“提交”页面,切换到dev分支,找到目标Commit,点击右侧的...更多选项,选择“Cherry-pick”。
  4. 在弹出的窗口中,选择刚才创建的cherry-pick-target作为目标分支,点击“Cherry-pick”。
  5. 如果有冲突,页面会提示解决冲突,按照指引解决后提交到新分支。
  6. 推送新分支到远程,然后点击“创建拉取请求”,设置源分支为cherry-pick-target,目标分支为main,提交PR完成后续合并流程。

注意事项

  • Cherry-pick会生成一个新的Commit,SHA值和原Commit不同,但内容一致。
  • 如果目标Commit依赖Dev分支里其他Commit的代码,Cherry-pick时会触发冲突,需要手动解决依赖问题。
  • 操作前务必确保main分支是最新状态,避免后续PR合并时出现额外冲突。

内容的提问来源于stack exchange,提问作者Bhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:21:06