要安装哪个 git 挂钩以实现自动版本编号

Which git hooks to install for automatic version numbering

我有一个脚本 writing/updating 一个包含我的软件版本控制信息的文件。它基于 git describe 并且基本上只计算自上一个标记以来的提交。是否有任何最佳实践 git 挂钩到 运行 此脚本,以便所有开发人员在编译之前始终拥有最新的版本控制信息,而与他们更新工作副本的特定工作流程无关?我特别考虑那些非常典型的:

我确定我遗漏了一些。是否有一个挂钩可以涵盖所有这些情况,还是我必须安装多个挂钩?有什么自然的最佳选择吗?将生成的版本控制文件置于版本控制之下是否有意义?

我建议不要为此使用挂钩,因为每个开发人员都必须在克隆后手动设置这些挂钩,或者至少通过触发一些安装它们的安装脚本。您无法集中控制开发人员存储库中的挂钩。

相反,我建议让您的构建过程根据 Git 信息更新此文件,因为您肯定正在使用一些构建工具。