两个本地分支上的Git头点通过提交回滚一个

j9per5c4  于 2023-01-24  发布在  Git
关注(0)|答案(1)|浏览(92)

我遇到过一个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获取它。

t30tvxxf

t30tvxxf1#

简单

git branch -f branch_B 242bf88d

诀窍在于理解分支只是指向提交的指针,这个命令告诉git * 嘿,在提交242bf88d时设置branch_B指针 *。
顺便说一句,HEAD并没有指向2个分支,而是branch_Abranch_B指向同一个提交,HEAD指向branch_A(也就是被 checkout 的分支)。

相关问题