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 -> C0git switch bugFix && git checkout bugFix~3

接着分离出HEADgit checkout C1(直接checkout到某个节点,意味着分离HEAD

最后,git branch -f main C6