有时候为了方便,我们经常使用~与^的运算符号来引用git的某一次提交。git仓库中的每一次提交都是一个节点,形成了一颗树状结构。因此,我们只需要指明第几个前驱节点,就可以轻松的引用前驱节点的提交。有了^和~,我们就不用每次都使用冗长的提交哈希值了。

如:

1
2
$ git revert HEAD~1
$ git checkout HEAD^^2

^和~总结如下:

  1. “^”代表父提交,当一个提交有多个父提交时,可以通过在“^”后面跟上一个数字,表示第几个父提交,“^”相当于是“^1”的省略。

  2. “~”相当于连续的n个“^”。

  3. checkout只会移动HEAD指针,reset会改变HEAD的引用值。