我似乎记得在另一个版本管理系统中看到,您可能会在代码中放入一个复杂的魔术字符串,修订版本管理系统会自动使用版本字符串替换该模式。 关键是我想在我的应用程序中显示当前版本的about对话框。在我看到的关于Git的所有内容中,它并没有改变你的源代码。另一个想法是,git创建一个文本文件,源文件可以读取到 显示版本。 我不喜欢不得不调用Git并将代码手动复制到代码中的想法。我的应用程序可以知道它的Git标签吗?
1
A
回答
1
你可以设置一个post-commit钩子调用一个python脚本像manuelbua/gitver
(从Manuel Bua,也on Stack Overflow)。
目标:
我想要的版本字符串和/或其它有用的信息将被自动嵌入在应用程序代码,“编入”可以这么说,没有我记得做手工每一次。
工作流程:
- 你在你的资料库的工作,现在你准备推动当前版本到下一个版本
- 创建一个发布标签,
git tag -a v0.0.2 -m 'Bump version'
- 定义您的
NEXT
版本,您正在努力通过运行gitver next 0.0.3
- 运行
gitver
,检查一切正常- 可选:预览或运行
gitver preview <template name>
或gitver update <template name>
更新项目的版本信息模板,然后重新生成项目,以反映版本更改- 任何其他手动看家的中间版本现在可以进行
- 你现在对下一个版本的工作,重复时发布时间再次来到
,可帮助您生成正确的元数据信息的文件(如从派生版本pp最后一个标签),供您在构建过程中使用。
1
- 混帐不支持扩展的“关键词” - 这是Linus的政策
在一切我所看到的关于Git的,它不会改变你的源代码的单个位
错了。它可以做到这一点 - “文本规范化”的跨平台使用是很大git的头痛
重点是,我想在我的应用程序中显示当前版本的对话框。
引擎盖下它几乎总是git describe
输出,这命令(在构建阶段),你可以使用你的工作目录,存储和使用后
- 临:简单
- 魂斗罗:在构建过程中添加额外的复杂度
另一种实现是“涂抹|干净过滤器”:关键字,作为静态文本存储ñ库,转换为在工作目录动态变化的元素(真 - 与过滤器程序执行此双向化改造)
- 临:透明度(你有仓库都已经内源)
- 魂斗罗:小可移植性(过滤器的行为必须在每个工作场所可用),转换规则的可能的复杂性
0
我只是问OS/Git的标签信息。这是我的版本视图(PHP):
<?php
$output = [];
exec("git tag", $output);
$version = end($output);
?>
{{$version}}
这样我只将版本存储在一个地方。
相关问题
- 1. ContentProvider可以知道查询它的应用程序的任何内容吗?
- 2. 我可以知道用户何时删除我的应用程序吗?
- 3. 我们可以结合git标签吗?
- 4. Java程序可以知道它的当前目录吗?
- 5. Git集成应用程序如何知道我可以推送到主分支?
- 6. 我可以推动修补程序到git中的标签
- 7. 我可以更改我的iPhone应用程序大图标吗?
- 8. 我可以使用IE8编写单一标签的Web应用程序吗?
- 9. Facebook - 谁可以使用我的页面标签应用程序?
- 10. 我可以让模型知道它的ModelForm吗?
- 11. 我可以知道应用程序进入后台时按了哪个键吗?
- 12. 我可以将标签推送到当前推送的git吗?
- 13. 我可以处理iPhone应用程序的移动图标吗
- 14. 我可以在android中收集应用程序通知吗?
- 15. 我可以知道算法类型吗?
- 16. 函数可以知道它是如何被调用的吗?
- 17. 我可以知道应用权限何时更改吗?
- 18. UITableViewCell可以知道它应该是分组模式吗?
- 19. 如何让用户选择他们的城镇,所以我的应用程序可以知道坐标
- 20. 绑定我的NFC标签,以我的应用程序
- 21. 我可以在body标签内添加javascript到ADF应用程序吗?
- 22. 我可以用css输入标签吗?
- 23. 我可以通过编程的方式知道哪个应用程序将打开给定的URL吗?
- 24. 我可以使用Git维护一个应用程序的两个版本吗?
- 25. 想要通过我的应用程序以编程方式知道应用程序的通知状态
- 26. 我可以从我的应用程序打开设置应用程序吗?
- 27. 我可以从我的应用程序访问另一个应用程序吗?
- 28. 我可以从我的应用程序中启动android应用程序吗?
- 29. 我可以在我的应用程序中列出iPhone应用程序吗?
- 30. 我如何知道谁是我的Facebook应用程序的书签?
感谢传播我的工作! – Manuel
@曼努埃尔没问题,并感谢你的脚本。我编辑了答案,以便更好地显示正确的归属。 – VonC