源文件中嵌入的git commit hash

时间:2010-11-04 09:22:21

标签: git git-clone

  

可能重复:
  In Git, how can I write the current commit hash to a file in the same commit

我们一直处于一个非常不幸但不可避免的问题,即不得不定期从烤箱中部署我们代码的开发版本。过了一段时间,我们忘记了哪些安装基于代码库的“中间”无标记版本。

git是否在跟踪文件中提供了一些自动宏或令牌嵌入,这些文件会在“git clone”或其他内容时自动替换为HEAD的最新提交哈希ID?

当然必须有办法做到这一点;甚至RCS,一个根据当今酷孩子标准的彻头彻尾的侏罗纪系统,有一个可以取代的内置版本变量。

1 个答案:

答案 0 :(得分:1)

正如您可以阅读Ben James在commnets中发布的问题的答案,人们担心将提交哈希值放入带有git的文件中。

是不是可以在git之外使用脚本化解决方案?当你需要从git部署一个新的构建时,你可以创建一个标记,在你将你的发布版本tar.gz或你为每个源文件添加标记名称的任何内容放在一起之前检查它。猜猜有不同的方法可以通过git-archive或其他任何方式实现自动化。

我想知道的另一件事是,如果git根据SHA1哈希值组织文件,你可能会在没有任何此类标记的情况下离开。因此,您可以根据其SHA1确定给定文件属于哪个提交。看看cat-file