【发布时间】:2011-03-27 10:51:05
【问题描述】:
我正在尝试用 Git 钩子做一些花哨的事情,但我真的不知道该怎么做(或者如果可能的话)。
我需要做的是:在每次提交中,我都想获取它的哈希值,然后用这个哈希值更新提交中的文件。
有什么想法吗?
【问题讨论】:
-
基本上我有一个 Web 应用程序,我想将该应用程序的已安装版本与该版本关联的确切提交相关联。我最初的想法是使用提交哈希更新一种 about.html 文件。但是在研究了git的对象模型之后,我意识到这是不可能的=/
-
这是一个很实际的问题。我也遇到过!
-
就我而言,我希望我的程序在日志中写入这样的消息:“myprog 正在启动,v.56c6bb2”。这样,如果有人提交了错误并将日志文件发送给我,我可以确切地找出我的程序正在运行的版本。
-
@Jefromi,实际用例其实很常见,很容易打到初学者。将真实版本以某种方式“印”到基线文件中是基本需求,而且为什么它会是一个错误的想法远非显而易见,例如因为这几乎是您使用手动修订控制黑客的唯一选择。 (记住初学者。)此外,许多项目根本没有任何类型的构建/安装/部署步骤,可以将版本抓取并标记到实时文件中。无论如何,即使在这些情况下,结帐后挂钩也可以提供帮助,而不是预先提交。
-
这不可能!如果你能做到这一点,你就破坏了 SHA-1 哈希算法......ericsink.com/vcbe/html/cryptographic_hashes.html