是否可以在文件中嵌入git版本标识符?

时间:2019-01-26 14:34:00

标签: git

使用RCS,我可以创建一个perl文件,例如:

#!/usr/bin/perl
my $version = '$Id: mycode,v 1.1 2019/01/26 13:54:27 jhnc Exp jhnc $';
print( join(" ", (split /[,\s]+/, $version)[1,3]), "\n");

然后,每当我检入文件时,版本都会更新。 目的是避免手动更新版本字符串。

我是git新手。 git是否有可能实现类似的目的?

如果我使用一个预先提交的钩子,我看不到在提交发生之前如何获得新的git哈希。如果我使用提交后,则更改不会被提交。我是设置并行版本控制方案并将其用于预提交挂钩的唯一选择吗?

1 个答案:

答案 0 :(得分:1)

发布前我进行搜索时没有发现任何相关信息。当然,发布后再次搜索时,我发现了一些相关的帖子,包括:

这使我相信最好的解决方案是在构建,打包或安装时设置版本,而不是尝试将其存储在版本控制系统本身中。

所以我现在在做:

  • git tag X.Y abcdefg关于已发布的提交
  • 在打包期间,将git describe --tags的输出修补到代码中