开发流程中的Git npm版本管理

3
这是我的项目开发流程:
  • feature/feature1
  • feature/feature2
  • feature/etc..
  • master
  • production
我在features branches(功能分支)上开发我的功能,当我完成一个分支的开发后,我通过GitHub ui合并到主分支,并删除它。CircleCI检测到合并操作后,在检测到代码无误后,将主分支部署到一个临时服务器上。 稍后,我手动将主分支合并到生产分支,然后CircleCI将部署到生产服务器上。 我希望在每次使用GitHub UI将功能分支合并到主分支时,package.json的版本都会自动更新。但我不确定:
  1. Github是否允许这样做(如果可以请向我解释一下?)
  2. 这是一个好的流程吗?
我知道我可以通过"npm version"命令在将主分支合并到生产分支时来更新版本,但我需要在将分支合并到主分支时自动更新版本号。
欢迎批评我的流程并告诉我你的。:)
谢谢
1个回答

2
  1. 我认为Github没有提供这样的功能。但是有一些grunt模块可以在构建时完成此操作。您也可以编写脚本或拥有一个make文件来为您完成此操作。

  2. 我不认为这是版本控制的好方法。在您完成一个功能后,您必须决定您所做的更改是次要的还是主要的。有时候您可能会提交破坏性更改。仅将版本号从1.0.1增加到1.0.2,或者从1.1.0增加到1.1.1(每次)并不能传达这些更改的重要性。最佳实践:软件版本控制已经涵盖了版本控制的最佳实践。

我们在工作中手动管理版本控制。在每个发布之前,我们创建一个标签(v1.0.3,v1.1.4等),然后在Github上创建一个发布。在发布的描述中,我们放置所有新的提交。查看提交消息可以让我们了解所做的更改。如果更改仅涉及错误修复和小的功能添加,我们将增加次要号码,即1.2.1到1.2.2。 如果添加了一个重要的新功能,我们将增加主要版本号,即1.2.2到1.3.0。当我们添加许多破坏性更改时,我们从1.3.0到2.0.0。 有时候我们在版本控制方面比较松散。我们的API不是公开的,我们使用版本控制的唯一原因是为了部署和回滚。如果您希望将您的工作开源或通过某种软件包管理器(如npm)提供您的工作,则应严格遵循semver版本控制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接