Commit ID和Tag ID之间的区别是什么

时间:2015-05-13 12:24:09

标签: git

我是Git的新手。

据我所知,提交ID用于识别个别更改。

标记/标记用于在特定时间点识别存储库的整个状态。

然而,当学习"引用提交"更具体地说," tree-ish",我遇到了以下输入:

  

在Git中,tree-ish表示引用树的一部分的东西。

     

现在用最简单的术语来说,tree-ish是对提交的引用   因为该提交然后依次引用树,Git存储库以及那里的所有文件。

因此,如果两者都保持存储库的当前状态:两者之间有什么区别?

1 个答案:

答案 0 :(得分:3)

标记与提交非常相似 您可以将标签视为人类可读的提交 Tag是一个提交它的指针,但不是记住SHA-1的40个字节,而是使用字符串ex v1.0等引用它。它只是将人类可读的字符串附加到SHA-1。

标记实际存储它指向的提交ID,您可以通过更改提交ID将标记移动到不同的提交。

使用标签的推荐方法是使用-a标志 git tag -a将创建带注释的标记。带注释的标签将为标签创建类似提交的提交(日期,提交者,消息等)。