如何将错误分支的代码迁移到正确分支?
摘要:📌 分支迁移完整操作指南 你现在的情况是:在错误分支 feature-edm-2612 上写了代码,需要把代码迁移到正确分支 feature-edm-2626,下面给你两种最稳妥、可落地的方案,你可以根据自己
📌 分支迁移完整操作指南
你现在的情况是:在错误分支 feature-edm-2612 上写了代码,需要把代码迁移到正确分支 feature-edm-2626,下面给你两种最稳妥、可落地的方案,你可以根据自己的情况选择。
🔍 先确认当前状态
先执行命令,确认当前分支和代码状态:
# 查看当前所在分支
git branch
# 查看未提交的代码改动
git status
你会看到当前分支是 feature-edm-2612,并且有未提交的修改。
方案一:最稳妥(推荐):暂存代码 → 切分支 → 恢复代码
适用场景:代码还没提交,只是本地修改,不想保留错误分支的记录,干净迁移。
完整操作步骤
# 1. 暂存当前所有未提交的代码改动(不会丢失,只是临时存起来)
git stash
# 2. 切换到正确的目标分支 feature-edm-2626
# 如果分支不存在,先拉取远程分支到本地:
git fetch origin feature-edm-2626
git checkout -b feature-edm-2626 origin/feature-edm-2626
# 如果分支已经存在,直接切换:
git checkout feature-edm-2626
# 3. 把刚才暂存的代码恢复到当前正确分支
git stash pop
# 4. 检查代码是否完整恢复,确认无误后提交
git status
git add .
git commit -m "HLY: 观存飞书模式同步项目问题优化"
# 5. 推送到远程对应分支(和任务关联)
git push origin feature-edm-2626
关键说明
git stash 会把你当前所有未提交的修改 “打包存起来”,切分支后用 git stash pop 恢复,代码 100% 还原,不会丢失。
操作完成后,feature-edm-2612 分支会回到你写代码前的干净状态,不会有多余提交。
方案二:提交代码 → cherry-pick 迁移(适合已提交代码)
适用场景:你已经把代码提交到了 feature-edm-2612 分支,需要把提交记录迁移到正确分支。
完整操作步骤
# 1. 先把当前错误分支的代码提交(确保提交记录存在)
git add .
git commit -m "临时提交:飞书同步优化(待迁移)"
# 2. 记录这次提交的 commit ID(复制输出的哈希值,前6位即可)
git log --oneline -1
# 3. 切换到正确分支 feature-edm-2626
# 分支不存在则先创建:
git fetch origin feature-edm-2626
git checkout -b feature-edm-2626 origin/feature-edm-2626
# 分支存在则直接切换:
git checkout feature-edm-2626
# 4. 把刚才的提交迁移到当前分支(把 <commit-id> 替换成你刚才复制的ID)
git cherry-pick <commit-id>
# 5. 解决可能的冲突(如果有),然后提交
git add .
git commit -m "HLY: 观存飞书模式同步项目问题优化"
# 6. 推送到远程
git push origin feature-edm-2626
# 7. 【可选】清理错误分支的提交(避免污染)
git checkout feature-edm-2612
git reset --hard HEAD~1 # 撤销刚才的临时提交,恢复分支原样
