Git如何回退分支切换HEAD 调整结构保障已提交PR不受影响
可行操作方案
不需要等待PR#1合并即可完成调整,全程不会影响两个已提交PR的内容,操作步骤如下:
- 基于当前本地master创建
fix_bug_1分支,完整继承PR#1的所有提交:
执行完成后git checkout -b fix_bug_1 masterfix_bug_1会指向my commit 3,和当前master的提交完全一致。 - 将本地master分支重置到和上游master对齐的
commit x位置:git checkout master # 把commit_x替换为commit x对应的哈希值,配置了上游remote的话也可以直接用git reset --hard upstream/master git reset --hard commit_x - 强制推送重置后的本地master到你自己fork的远程仓库:
git push --force origin master - 更新PR#1的源分支配置:打开GitHub上的PR#1页面,点击编辑按钮,将源分支(head branch)从
master切换为fix_bug_1后保存即可。
注意事项
- 操作前可先备份本地仓库副本,避免误操作导致提交丢失
- 强制推送仅会修改你自己fork仓库的master分支,不会影响上游仓库,也不会干扰源分支为
fix_bug_2的PR#2 - 后续开发新的修复/功能时,先切换到本地master拉取上游最新代码,再新开独立分支开发即可避免同类分支混乱问题
内容的提问来源于stack exchange,提问作者Axel
相关产品推荐
相关产品推荐

