Git在分支上自由移动
假设目前是这样

目标是
HEAD -> C1main -> C6bugFix -> C0
首先,Git既然已经分离了HEAD,那么当前一定处于HEAD这个节点。
那么,直接git checkout HEAD^就能让HEAD -> C1。
接着,bugFix -> C0只需要git branch -f bugFix C0。这个命令强制让bugFix指向C0。
最后,main -> C6也是同理。
但是我们可以先让bugFix -> C0:git switch bugFix && git checkout bugFix~3 。
接着分离出HEAD:git checkout C1(直接checkout到某个节点,意味着分离HEAD。
最后,git branch -f main C6。