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

Git如何将指定分支下仅属于自己的提交迁移到另一基于master的分支

Git 专属提交迁移操作方案

两种常用操作可选,可根据自己的提交数量选择:

方案1:git cherry-pick 拣选提交(适合提交数量≤10的场景)

  • 首先切换到分支A,执行命令筛选自己的所有提交,记录所有提交哈希值(按提交时间从早到晚排序):
    git log --author="你的Git配置用户名" --oneline
  • 切换到基于master的目标分支:
    git checkout <目标分支名称>
  • 按提交先后顺序执行批量拣选:
    git cherry-pick <最早的提交哈希> <次早的提交哈希> ... <最晚的提交哈希>
    注意:如果执行过程中出现冲突,解决冲突后执行git add .,再运行git cherry-pick --continue即可继续后续拣选;若想放弃本次操作,执行git cherry-pick --abort即可回到拣选前的状态

方案2:git rebase 交互式变基(适合提交数量多、你的提交在分支A上连续排列的场景)

  • 先切换到分支A:
    git checkout 分支A
  • 执行交互式变基命令,其中<你第一次提交前的父提交哈希>可以从刚才的git log结果里找,就是你的第一条提交记录的上一条的哈希:
    git rebase -i --onto <目标分支名称> <你第一次提交前的父提交哈希>
  • 执行后会弹出文本编辑页面,把所有不属于你的提交记录前的pick参数改成drop,保存退出后变基自动执行
  • 变基完成后,分支A就仅保留你的提交且基底为目标分支,此时切换回目标分支合并即可:
    git checkout <目标分支名称> && git merge 分支A

操作前建议先给两个分支打临时标签做备份,避免误操作丢失改动:git tag backup_<分支名> <分支名>,确认操作无误后再删除备份标签即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:45:04