Skip to main content

Git在分支上自由移动

假设目前是这样

image-20211229175520087

目标是

  • HEAD -> C1
  • main -> C6
  • bugFix -> 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。