当我在Git中指定一个祖先提交对象时,我在HEAD^
和之间感到困惑HEAD~
.
两者都有像" HEAD^3
和"这样的"编号"版本HEAD~2
.
它们看起来与我非常相似或相同,但是波浪号和插入符之间有什么区别吗?
我经常读到Git使用有向无环图(DAG)数据结构,每次提交都是一个节点,而像分支和标签这样的东西作为节点的指针.
但是当我尝试使用像gitk这样的工具来显示我的提交历史时,它看起来更像是树而不是图形,因为每个父子关系都是单向的.
那么,DAG和树之间有什么区别,特别是关于Git?