如何将feature_1分支的单次commit rebase到develop_2分支
操作指南
方案1:使用rebase实现需求
- 第一步:先同步远程develop_2分支的最新代码,避免基于旧版本rebase出现额外冲突
git checkout develop_2 git pull origin develop_2 - 第二步:切换回feature_1分支
git checkout feature_1 - 第三步:执行rebase操作,将feature_1的提交迁移到develop_2的最新提交之上
git rebase develop_2 - 冲突处理:如果执行过程中提示冲突,按以下步骤处理
- 打开提示的冲突文件,手动修改解决冲突内容
- 冲突解决完成后,执行
git add <冲突文件路径>标记冲突已解决 - 执行
git rebase --continue完成剩余rebase流程 - 如果需要中途放弃rebase,执行
git rebase --abort即可回到操作前的分支状态
- 后续推送注意:如果你的feature_1分支此前已经推送到远程仓库,rebase会修改本地分支的提交历史,推送时需要添加强制推送参数:
git push origin feature_1 -f,如果该分支是多人协作分支,强制推送前请确认无其他成员在该分支上提交代码。
方案2:单commit场景更简便的cherry-pick方案
因为你的feature_1分支只有1个commit,不需要修改原分支历史的情况下,直接cherry-pick对应提交到develop_2分支效率更高:
- 第一步:获取feature_1分支对应commit的哈希值,执行以下命令查看提交记录,复制目标commit的哈希前缀(前7位即可)
git log feature_1 - 第二步:切换到已同步最新代码的develop_2分支
git checkout develop_2 - 第三步:执行cherry-pick命令,将对应提交迁移到develop_2分支
git cherry-pick <你复制的commit哈希前缀> - 冲突处理:出现冲突时,解决冲突后执行
git add <冲突文件路径>,再执行git cherry-pick --continue完成操作,放弃操作执行git cherry-pick --abort
内容的提问来源于stack exchange,提问作者shobhana
相关产品推荐
相关产品推荐

