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

误从错误分支创建特性分支,如何将其迁移至正确分支?

迁移特性分支到正确的基础分支

方法一:使用变基(Rebase,推荐)

该方法会直接重构B分支的提交历史,使其基于C分支,最终完全匹配目标结构。

  1. 更新本地所有分支至最新状态
git fetch origin
git checkout A && git pull
git checkout C && git pull
git checkout B && git pull
  1. 将B分支变基到C分支
git checkout B
git rebase C
  1. 处理冲突(若出现)
    Git遇到冲突会暂停变基,此时手动修改冲突文件后执行:
git add .
git rebase --continue

若需放弃变基操作,执行:

git rebase --abort
  1. 验证分支结构
    运行以下命令查看提交历史,确认B分支已基于C分支:
git log --oneline --graph
  1. 推送远程分支(若B已推送到远程)
    因变基修改了提交历史,需强制推送,推荐用--force-with-lease避免意外覆盖他人提交:
git push origin B --force-with-lease

方法二:使用 Cherry-Pick(适合提交较少的场景)

如果B分支上的提交数量不多,可以逐个复制提交到C分支之上。

  1. 更新本地分支并切换到C分支
git fetch origin
git checkout C && git pull
  1. 基于C分支创建新的特性分支
git checkout -b B-new
  1. 复制B分支的提交到新分支
    先查看B分支中所有基于A分支的提交哈希:
git log B --not A --oneline

然后逐个复制这些提交:

git cherry-pick <提交哈希1> <提交哈希2> ...

遇到冲突时,解决后执行:

git add .
git cherry-pick --continue
  1. 替换原B分支
git branch -m B B-old
git branch -m B-new B
  1. 推送新的B分支到远程
git push origin B --force-with-lease
# 如需删除远程旧分支,执行:
git push origin :B-old

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:42:36