git 理解 HEAD^与HEAD~

HEAD是指当前的快照,这个命令主要配合reset--hard,--mixed--solf三个参数对对本次的修改进行处理
HEAD~1指回退一个快照,可以简写为HEAD~
HEAD~2指回退两个快照,

HEAD^主要是控制merge之后回退的方向
HEAD~才是回退的步数

例子:

命令描述
git checkout HEAD^1~1在主分支上回退一个快照,可以简写为git checkout HEAD^~
git checkout HEAD^1~1在merge的分支上回退一个快照

1.建立如图所示分支
这里写图片描述
2.将HEAD指针向后移动一位到原分支git checkout HEAD^
这里写图片描述
3.将HEAD指针向后移动一位到merge分支git checkout HEAD^2
这里写图片描述
4.将HEAD指针向后移动两位到原分支git checkout HEAD^~
这里写图片描述
5.将HEAD指针向后移动一位到merge分支git checkout HEAD^2~
这里写图片描述


版权声明:本文为claroja原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。