参考文献

ref 本质上是一个指针。这是一个指向 object 的名字。例如,

"master" --> 1a410e...

它们存储在纯文本文件中的`.git / refs / heads /中。

$ cat .git/refs/heads/mainline
4bb6f98a223abc9345a0cef9200562333

这通常被称为 branches。但是,你会注意到在 git 中没有 branch 这样的东西 - 只有一个 ref

现在,可以通过他们的哈希直接跳转到不同的 objects 来纯粹导航 git。但这会非常不方便。ref 为你提供了一个方便的名称来引用 objects。要求 git 通过名称而不是哈希来到特定的地方要容易得多。