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

如何调整Git提交顺序:将提交B移至合并提交m之后?

调整Git提交顺序:将提交B移至合并提交之后

你的需求是把提交B从合并提交m之前移到之后,由于涉及合并提交,普通交互式rebase会因Git自动展平合并历史导致选取过多提交,推荐用以下分步操作:

操作步骤

  1. 切换到目标分支并创建临时分支保存最后一个提交D(避免后续操作丢失):
    git checkout branch_1
    git branch temp D
    
  2. 将branch_1重置到提交A的位置(确保后续重新合并分支2):
    # 替换<A的哈希值>为实际提交A的Git哈希,或用相对位置如HEAD~4(需确认准确性)
    git reset --hard <A的哈希值>
    
  3. 重新合并branch_2,生成新的合并提交m':
    git merge branch_2
    
  4. 把原来的提交B Cherry-pick 到当前分支,生成B':
    git cherry-pick <B的哈希值>
    
  5. 再把临时分支上的提交D Cherry-pick 过来,生成D':
    git cherry-pick temp
    
  6. 确认历史符合预期后,删除临时分支:
    git branch -D temp
    

注意事项

  • 操作前建议备份原分支:git branch branch_1_backup,防止操作失误导致历史丢失。
  • 所有提交哈希可通过git log --oneline查看,复制对应提交的短哈希即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:34:52