4

可能重复:
在 Git 中,如何将当前提交哈希写入同一提交中的文件

我们陷入了一个非常不幸但不可避免的问题,即周期性地不得不立即部署我们代码的开发版本。一段时间后,我们无法确定谁的安装是基于代码库的哪个“中间”未标记版本。

git 是否提供了一些可嵌入到跟踪文件中的自动宏或令牌,这些文件会在“git clone”或诸如此类的情况下自动替换为来自 HEAD 的最新提交哈希 ID?

当然必须有办法做到这一点;即使是 RCS,按照当今酷孩子的标准,一个彻头彻尾的侏罗纪系统,也有一个可以替换的内置版本变量。

4

1 回答 1

1

正如您在 Ben James 在 commnets 中发布的问题的答案中看到的那样,人们担心使用 git 将提交哈希值放入文件中。

难道不能在 git 之外使用脚本解决方案吗?当您需要从 git 部署新版本时,您可以创建一个标签,检查它,然后再将您的发行版 tar.gz 或任何您添加到每个源文件的标签名称放在一起。猜猜有不同的方法可以通过 git-archive 或其他方式实现自动化。

我想知道的另一件事是,鉴于 git 根据它们的 SHA1 哈希值组织文件,你可能根本不需要任何这样的标记就可以逃脱。因此,您可以根据其 SHA1 确定给定文件属于哪个提交。看一下cat-file

于 2010-11-04T10:00:44.777 回答