如何创建Git Commit对象SHA1?

时间:2015-03-06 06:45:11

标签: git

我理解如何创建blob sha1,我理解标记的哈希计算的内容。任何人都可以告诉我或指向适当的文档来解释提交对象哈希创建吗?

2 个答案:

答案 0 :(得分:1)

此(Git Objects)页面的底部解释了如何生成对象并将其传递到散列函数。

基本上,git获取你正在存储的项目的内容,生成一个带有blob长度的标题,将它们组合在一起(store = header + content),并获取SHA1哈希值store

答案 1 :(得分:0)

好的,我明白了。

继续创建提交sha对象

  1. 树对象引用
  2. 父对象引用
  3. 作者姓名
  4. 作者提交带时区的时间戳(例如对我来说是+530) [可能与提交者不同,例如在采摘樱桃时 ]
  5. 提交者名称
  6. 使用时区提交时间戳(例如对我来说是+530)
  7. 提交消息
  8. 我试图弄清楚为什么在重置之后提交SHA ID会有所不同,并且再次使用具有相同父级和树对象引用的相同用户添加具有完全相同提交消息的相同文件。

    现在我知道它的时间戳。 想分享这个。