0

我非常怀疑我能做到这一点,因为提交哈希是在提交时生成的,但是有没有一种方法可以在我提交时动态保存提交的哈希号。

示例:
我进行了一些更改并提交
提交哈希保存到文件
然后我将提交同步到 Github 服务器

理想情况下,我想要的是一种防弹方法,可以知道哪个提交版本是我正在查看的文件。我可以实现版本,但鉴于开发速度极快(通常在几分钟内提交 5-6 次),它非常不切实际。

我愿意接受其他建议。

4

3 回答 3

0

您可能会考虑使用Git 提交后挂钩,尽管提交哈希必须存储在单独的文件中,正如其他人在上面提到的那样。

于 2012-11-26T20:45:49.923 回答
0

不,您不能在提交中的文件中包含提交 ID。标识提交的 sha1 哈希,因此将一个 ID 插入文件将导致将用于提交的哈希更改。

于 2012-11-26T17:53:46.957 回答
0

有没有一种方法可以在我提交时动态保存提交的哈希号

不会。标识提交的哈希是在提交对象完全创建时生成的。因此,只有在完成提交、编写提交消息等之后,您才能访问提交哈希。

但是,当您在示例中编写它时,您似乎首先提交然后将提交哈希保存到文件中。如果您不想将该文件包含在提交本身中(这不起作用,因为它会更改提交中的树),那么这是完全可能的。

获取当前 HEAD 哈希的简单命令,即指向您刚刚创建的提交的指针是这样的:

git rev-parse HEAD

理想情况下,我想要的是一种防弹方法,可以知道哪个提交版本是我正在查看的文件。

您可能想要的是类似 Subversion 的$Revision: X$. 但由于上述原因,这是不可能的。您可以做的是提供在结帐时执行此类操作的清洁/涂抹过滤器,但我不建议这样做。

另一种方法是ident在文件上使用该属性,该属性实际上确实扩展$Id$blob id。虽然不是提交 ID。另请参阅此问题

于 2012-11-26T17:54:09.190 回答