我想自动设置版本号给我的程序,以这样的方式,他们是一致的git标签。这是怎么做到的?建议的方法是什么?
示例
以下高度复杂的python脚本打印其版本号。每次提交时,我应该如何自动更新版本号?
# application.py
hardcoded_version_number = "0"
print("v"+hardcoded_version_number)

每次提交后,版本号都应该更新。
发行版0.1 /初始提交:
hardcoded_version_number = "0.1"
print("v"+hardcoded_version_number)特性1:
hardcoded_version_number = "0.1-1-gf5ffa14" # or something like this
print("v"+hardcoded_version_number)发行版0.2:
hardcoded_version_number = "0.2"
print("v"+hardcoded_version_number)等等。
我目前遇到的另一个问题是,在运行时,我使用的GUI元素无法从任何外部源读取版本号。所以我唯一的选择就是硬编码。
发布于 2014-06-23 12:49:25
在为这些版本生成名称方面,我认为您的做法是正确的。git describe生成的字符串正是您要寻找的表单:
该命令查找可从commit访问的最新标记。如果标记指向提交,则只显示标记。否则,它将标记名称后缀为标记对象顶部的附加提交数和最近提交的缩写对象名称。
如果您想从代码中访问此版本字符串,那么实际上有两个选项:
git describe 使用提取它。在本例中,您可能希望将其写入一个未跟踪的临时文件,然后在运行时将该文件读入程序中。我用过这种方法,效果很好。为什么有必要这样做?Git不允许您为自己编写提交的散列。提交散列是基于许多事情计算的,包括文件内容、提交消息、时间戳和父散列。当您知道哈希是什么时,它引用的提交实际上已被锁定。修改其内容或提交消息以包含其哈希将使旧哈希无效。
有关更多讨论,请参见this question。
https://stackoverflow.com/questions/24365608
复制相似问题