移动HEAD

直接使用哈希值分离HEAD并不方便,所以使用相对引用来操作。

  • 使用 ^ 向上移动 1 个提交记录,后跟数字表明移动到哪个父记录
  • 使用 ~<num>向上移动多个提交记录,如 ~3,不跟数字时效果和^相同

image.png

git checkout main^
image.png
使用main^向上移动
也可以使用HEAD^向上移动

image.png

git checkout HEAD~4
image.png

强制修改分支位置

image.png

git branch -f main HEAD~3
image.png
-f 表示分支强制移动
main 分支强制移动到 HEAD~3 所在记录

image.png

git checkout main^ 等价于 git checkout main^1
image.png

git checkout main^2
image.png

链式操作:
image.png

git checkout HEAD~1^2~2
image.png