Git HEAD指向两个本地分支,如何仅回退其中一个分支一个提交?
解决方法
当前你的仓库状态是branch_A和branch_B指向同一个提交76ee9315,要让该提交仅属于branch_A,同时将branch_B回退到242bf88d,正确操作如下:
- 直接强制修改
branch_B的指针,无需切换到该分支:git branch -f branch_B 242bf88d
执行完后,branch_A会继续指向76ee9315,而branch_B会回退到合并提交242bf88d,完全不会影响branch_A的提交记录。
为什么之前的操作出问题?
你之前切换到branch_B执行硬重置时,本质上是移动了branch_B的指针,但如果之后误操作了branch_A(比如切换回去后也执行了重置),才会导致提交丢失。而用git branch -f直接修改分支指针的方式,不需要切换分支,能精准控制单个分支的指向,避免误操作。
内容的提问来源于stack exchange,提问作者MadPhysicist
相关产品推荐
相关产品推荐

