Git在分支上自由移动
假设目前是这样
目标是
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
。