git 自定义提交 ID?

git custom commit id?

相当理论性的问题,但如果有人知道实际的实现,我很乐意听听他们的意见。

我们知道 git 使用 SHA1 作为提交 ID。 他们的问题是你不能仅仅通过查看这个键来快速说出任何话。是的,你几乎可以通过 git 帮助找到关于这个 git 提交 ID 的任何信息,但是你不能仅仅通过 就可以说出任何关于它的信息。有时它会很方便。

如果commit id是SHA1+authorid+creation_time使用起来会更简单

我确定 git 没有这种类型的提交 ID 的原因很简单,但我不知道是哪些。有人知道吗?

没有根本或技术原因 Git 无法将此信息附加到每个哈希。但是,它不会添加任何不存在的功能,因为您可以简单地创建一个名称由您控制的注释标记,然后包含所需提交的哈希 ID,以及您想要插入的任何辅助数据。

换句话说,您的建议可能会奏效,并且可能会消除对某些标签的需求,但代价是散列 ID 更加笨拙。这是否是一个好的权衡(对当前情况的改进)是一个见仁见智的问题。 :-)

(有关 Git 或任何其他类似 VCS 需要哈希的说明,请参阅 chapter 4, Distributing Repositories, of my extremely-slow-progress book。)