我的应用程序可以知道它的Git标签吗?
我似乎记得在另一个版本管理系统中看到,您可以在代码中放入一个复杂的魔术字符串,版本管理系统将自动用版本字符串替换该模式。 关键是,我希望在我的应用程序中有一个“关于”对话框,显示当前版本。在我所看到的关于Git的一切中,它丝毫没有改变您的源代码。另一个想法是git创建一个源代码可以读取的文本文件 显示版本。我的应用程序可以知道它的Git标签吗?,git,tags,Git,Tags,我似乎记得在另一个版本管理系统中看到,您可以在代码中放入一个复杂的魔术字符串,版本管理系统将自动用版本字符串替换该模式。 关键是,我希望在我的应用程序中有一个“关于”对话框,显示当前版本。在我所看到的关于Git的一切中,它丝毫没有改变您的源代码。另一个想法是git创建一个源代码可以读取的文本文件 显示版本。 我不喜欢必须调用Git并手动将标记复制到代码中的想法。您可以设置一个post-commit钩子来调用python脚本,如 (也来自) 目标: 我希望版本字符串和/或其他有用信息能够自动嵌入到
我不喜欢必须调用Git并手动将标记复制到代码中的想法。您可以设置一个post-commit钩子来调用python脚本,如
(也来自) 目标: 我希望版本字符串和/或其他有用信息能够自动嵌入到应用程序代码中,可以说是“编译”,而无需每次都记住手动执行 工作流程:
- 您正在处理存储库,现在可以将当前版本升级到下一个版本了
- 创建一个发布标签,
git标签-a v0.0.2-m“Bump版本”
- 定义您的
版本,即通过运行NEXT
gitver NEXT 0.0.3
- 运行
并检查一切是否正常gitver
- 可选:通过运行
或gitver preview
预览或更新项目的版本信息模板,然后重新生成项目以反映版本更改gitver update
- 现在可以执行发布之间的任何其他手动内部管理
- 现在,您正在努力开发下一个版本,当发布时间再次到来时,请重复此操作
git descripe
output,您可以在工作目录上使用哪个命令(在构建阶段),然后存储和使用
- 优点:简单
- 相反:在构建过程中增加额外的复杂性级别
- 赞成:透明性(您在存储库中已经拥有了所有内部源)
- 相反:可移植性较差(过滤器的操作必须在每个工作场所可用),转换规则可能比较复杂
{{$version}
这样,我只在一个地方存储版本 @Manuel没问题,谢谢你的剧本。我对答案进行了编辑,以使正确的归属更为明显。
<?php
$output = [];
exec("git tag", $output);
$version = end($output);
?>
{{$version}}