我有一个Discord机器人,最近我决定制作开源(here)。它当前正在使用Git Flow分支模型,并且我想更改为Github Flow(删除develop
分支并将新功能直接合并到master
中)。实际的转移只需要将develop
合并到master
中并删除它即可。
但是,该项目当前使用语义版本控制,并且版本号显示在Discord机器人的状态中,以帮助用户了解其更新时间。大多数开源应用程序对版本号有什么作用?在合并拉取请求之前立即创建提交以更改版本号,并立即部署新功能,或者在准备发布时制作标签?
完全删除版本编号是否更有意义?
答案 0 :(得分:1)
许多项目(包括Git)采用的方法是,当从Git存储库构建项目时,使用git describe
生成版本号,并提供固定的版本号(通常在源代码中的某个位置),这是tarball或其他软件包发行版的一部分(或作为额外文件提供)。
如果这些tarball和软件包发行版是使用CI系统构建的,则实际上可以通过从标记生成它来自动执行此过程,而不必自己修改版本号。但是,那可能比您想要的还要多。
不需要在每次拉取请求时都修改版本,通常最终会导致大量的工作,而这可能会导致许多冲突。当似乎有足够的错误修复或功能需要新发行的版本时,通常更容易执行常规发行。如果您使用git describe
方法,则运行非发行版的人仍将具有与发行版不同的版本字符串,同时允许您保留语义版本。