如何将错误分支的代码迁移到正确分支?

摘要:📌 分支迁移完整操作指南 你现在的情况是:在错误分支 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 # 撤销刚才的临时提交,恢复分支原样