我非常怀疑我能做到这一点,因为提交哈希是在提交时生成的,但有一种方法可以在我提交的时候动态保存提交的哈希值。
示例:
我做了一些更改并提交
提交哈希保存到文件
然后我将提交同步到Github服务器
理想情况下,我想要的是一种防弹方式,知道哪个提交版本是我正在查看的文件。我可以实现版本,但考虑到极快的开发速度(通常在几分钟时间内提交5-6次),这非常不实用。
我愿意接受其他建议。
答案 0 :(得分:0)
不,您不能在提交中的文件中包含提交ID。标识提交的sha1哈希,因此将一个ID插入到文件中将导致将用于提交的哈希值发生更改。
答案 1 :(得分:0)
有没有一种方法可以动态保存提交的哈希值,因为我正在提交
没有。完全创建提交对象时会生成标识提交的哈希。因此,只有在完成提交,编写提交消息等之后,您才能访问提交哈希。
但是,当您在示例中编写它时,您似乎首先提交然后将提交哈希保存到文件中。如果你不想在提交本身中包含该文件(这会因为它会改变提交中的树而无效),那么这是完全可能的。
获取当前HEAD哈希的简单命令,即指向刚创建的提交的指针是:
git rev-parse HEAD
理想情况下,我想要的是一种防弹方式,知道哪个提交版本是我正在查看的文件。
你可能想要的是类似Subversion的$Revision: X$
。但由于上述原因,这是不可能的。您可以做的是提供清洁/涂抹过滤器,在结帐时执行此类操作,但我不建议这样做。
另一种方法是对实际扩展ident
到 blob ID的文件使用$Id$
属性。虽然不是提交ID。另请参阅this question。
答案 2 :(得分:0)
您可能会考虑使用Git post-commit hook,但提交哈希必须存储在单独的文件中,如上所述。