head^ && head~(本人艰深了解,有误欢送斧正)
^ 代表分支,依据形态能够了解为叉路口。head^0 代表以后所在提交,head^1 示意第一叉路,head^2 代表第二叉路,以此类推。数字 1 能够省略,所以 head^ === head^1,head^^(两次分叉口都抉择第一条道) == head^1^1 === head^1^ === head^^1。
~ 代表位于 以后叉路上的 上个提交,head~0 以后提交,head~1 或者 head~上次提交,head~~或者 head~2,上上次提交,以此类推。数字 1 能够省略,所以 head~1 === head~。
查看提交图:git log –graph –pretty=oneline –abbrev-commit
* b21d2e9 (HEAD -> master) Merge branch 'dev2'
|\
| * 1ef9e78 (dev2) dev2 第 2 次提交
* | a7430f0 (dev) dev 第 2 次提交
|/
* 1c1f2e4 dev2 第 1 次提交
* 7f442c0 dev 第 1 次提交
* 04ceccc 第 3 次提交
* 5eb938f 第 2 次提交
* c188500 第一次提交
head == head^0 == head~0 == head 以后提交 b21d2e9
head^ == head~ == head^1 == head~ a7430f0
head^^ == head^1^1 == head~2 == head~~ 1c1f2e4
head^2 1ef9e78(抉择第二岔路)
head^2^ === head^2~ 1c1f2e4
head^3 unknown revision or path not in the working tree 没有第三条叉路