HEAD
单独一个HEAD
eg:git diff HEAD
表示当前结点。
HEAD~
HEAD~只处理当前分支。
注意:master分支的上一个结点是tmp分支的所在的结点fc11b74, 79f109e才是master的第二个父节点。

HEAD~
当前结点的父节点。
HEAD~1
当前结点的父节点。
HEAD~n
当前结点索引为0,n为当前结点之后的第n个结点。
HEAD^n
这个是用来处理一个由多个分支合并而来的结点和他的各个第一级父节点之间的关系的命名。

查看git diff的案例。