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

无需切换分支,如何从dev分支向master_copy分支cherry-pick提交?

无需切换分支将指定提交cherry-pick到目标分支

你可以通过两种安全方式实现需求,全程无需切换到dev或master_copy分支:

方法一:利用临时HEAD状态(适合当前分支工作区干净的场景)

如果当前master分支的工作区、暂存区均无未提交修改,可执行以下命令序列:

  1. 在当前master分支的HEAD基础上,执行cherry-pick但不自动提交:
    git cherry-pick --no-commit <目标提交HASH>
    
  2. 强制将master_copy分支指向刚完成cherry-pick的临时HEAD:
    git branch -f master_copy HEAD
    
  3. 将当前master分支重置回cherry-pick前的状态,消除临时修改:
    git reset --hard HEAD@{1}
    

方法二:使用临时工作区(无任何限制,更安全)

如果当前master分支存在未提交修改,推荐用这种方法,完全不影响现有工作环境:

  1. 创建临时工作区,关联master_copy分支(临时目录放在仓库外,避免污染):
    git worktree add -b temp_cherrypick ../temp_cherrypick_workspace master_copy
    
  2. 在临时工作区中执行cherry-pick操作:
    git -C ../temp_cherrypick_workspace cherry-pick <目标提交HASH>
    
  3. 删除临时工作区,清理痕迹:
    git worktree remove ../temp_cherrypick_workspace
    

注意事项

  • 替换命令中的<目标提交HASH>为dev分支上的目标提交哈希,也可以用相对位置快速获取,比如git rev-parse dev~1表示dev分支倒数第一个提交。
  • 若cherry-pick出现冲突:方法一中需先解决冲突再执行后续步骤;方法二中进入临时工作目录解决冲突并完成提交后,再删除临时工作区。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 04:26:55