我需要在git存储库中保存版本文件。
我有释放过程(管道),当我们决定进行释放时,该过程会手动触发,该过程应该执行:
现在,当我要从此标记进行克隆时,版本文件应包含正确的版本。
如果在运行测试(#2)时其他人对仓库进行了更改,会发生什么情况?在#6中生成的标签是否还会包含未在发布过程中进行测试的更改?
此流程的逻辑是否正确,或者我有更好的方法来管理版本文件?
答案 0 :(得分:1)
版本不是作为文件的新修订版静态存储的内容。
这是因为存储该文件的新修订版本的行为意味着……Git存储库本身具有一个新提交,需要提取该提交,并迫使团队成员在该新提交之上合并或重新建立自己的工作。
版本在构建可交付成果时在构建时进行存储。
例如,在Go中,您可以使用flag pass to the Go linker来初始化字符串变量。
这样,在运行时,二进制文件不仅可以生成版本,还可以生成您选择记录的任何其他构建时间信息。
我通常以这种方式集成:
这样,您的程序可以显示很多有关其构建版本的信息。