[英]How do I combine versioning with merge-only to master git workflow?
在一个合理的“仅可合并到主站点”的git工作流中(例如gitflow)-所有更改都发生在分支中,而分支又被合并了(也许作为Pull Request的一部分)-如何处理版本控制?
对于标记,我可以轻松地对特定的合并提交进行git tag
,没什么大不了的。
但是许多应用程序框架都依赖于版本文件(例如package.json
或gemspec
甚至是自定义文件)。
我看到一些选择:
npm <anything>
,因为本地工具会npm <anything>
(尝试使用无效的package.json
运行npm <anything>
),并且存储库不再可以作为原子单元独立运行。 当版本在提交中的一部分文件中时,是否有合理的标准方法来执行此操作?
您可能会采用这样的策略,即人类可以通过仅合并来为master分支做出贡献,并且只有自动化的CI / CD(例如Jenkins)才可以直接在master中更改版本文件的内容。 从CI / CD的角度来看,自动发布过程可能看起来像这样:
--force
) 作为补充,你可以保护文件版本从合并到主服务器更改.gitattributes
在版本文件目录与内容verfile merge=ours
(见这里 )
听起来好像想要的是存储库中的模板版本文件,然后使用从存储库中提取的信息将其作为常规构建系统的一部分构建到实际版本文件中。
我建议Autorevision将版本库中的版本信息转换成易于使用的形式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.