我遇到过一个HEAD指向两个分支的情况,分支配置如下:
* 76ee9315 - (HEAD -> branch_A, branch_B)
* 242bf88d - (origin/branch_A) Merge branch 'branch_A' into branch_B
|\
| * c5e6b6b9 - (origin/branch_B)
怎样才能让最近的提交只属于分支_A,而branch_B被一次提交回滚呢?我试着 checkout branch_B,并通过一次提交进行硬重置。然而,这会从两个分支中清除提交,我不得不通过reflog获取它。
1条答案
按热度按时间t30tvxxf1#
简单
诀窍在于理解分支只是指向提交的指针,这个命令告诉git * 嘿,在提交
242bf88d
时设置branch_B
指针 *。顺便说一句,
HEAD
并没有指向2个分支,而是branch_A
和branch_B
指向同一个提交,HEAD
指向branch_A
(也就是被 checkout 的分支)。