0.前言 波浪号~,英文名叫 tilde.脱字符^,英文名叫caret. 这两种符号常见于git reset的情景,简单的项目结构和操作一般不会涉及到两者之间的区别,似乎用哪个都可以.如果遇到比较繁杂的提交历史,可能就要好好体验一下二者更深层的含义. 1.两种符号的异同和转换 1.1 ~表示当前分支所属提交时间线上的某个提交 只适用于当前分支所在的线性的历史提交. 如果提交历史为 A---B---C---D 当前所在点为HEAD=D,那么 C=HEAD~1 B=HEAD~2 A=HEAD~3 1…