Git新手求助:未提交推送的feature分支如何重新定位到branch3?
操作步骤详解
首先明确:必须先在本地Git中调整你的feature分支的代码基础,再修改Bitbucket上PR的目标分支——只改PR目标会导致代码差异混乱,因为你的feature分支目前还是基于branch1的。
具体操作步骤:
暂存本地未提交的修改
直接切换分支会丢失未提交的更改,先把它们暂存起来:git stash切换到branch3并拉取最新代码
确保本地branch3是远程仓库的最新版本:git checkout branch3 git pull origin branch3重新调整feature分支的基础
两种可选方式,按需选择:- 方式一:基于branch3新建feature分支(适合不需要保留原分支历史的场景)
git checkout -b feature # 用你原来的分支名即可,也可以换新名字 git stash pop # 把之前暂存的修改恢复到当前分支 - 方式二:将原feature分支变基到branch3上(适合需要保留原分支提交记录的场景)
如果变基时出现冲突,手动解决冲突后执行git checkout feature git rebase branch3git rebase --continue完成变基。
- 方式一:基于branch3新建feature分支(适合不需要保留原分支历史的场景)
推送调整后的feature分支
- 若之前没推送过该分支,第一次推送需关联远程分支:
git push -u origin feature - 若之前已推送过,因分支基础变更,需强制推送(仅当你独自使用该分支时操作,避免影响他人):
git push -f origin feature
- 若之前没推送过该分支,第一次推送需关联远程分支:
修改Bitbucket PR的目标分支
登录Bitbucket找到已创建的PR,点击编辑按钮,将目标分支从branch1改为branch3即可。
完成上述操作后,你的feature分支代码就完全基于branch3了,PR内容只会包含你新增的修改,不会混入branch1与branch3之间的差异。
内容的提问来源于stack exchange,提问作者anyaolson
相关产品推荐
相关产品推荐

