在开发流程中使用Git npm版本管理

时间:2016-02-15 14:14:15

标签: node.js git github merge

这是我的项目开发过程:

  • 特征/特征1
  • 特征/特征2
  • 特征/等。
  • 生产

我在功能分支上开发我的功能,当我完成一个分支时,我将它合并到master上并将其删除通过github ui。 CircleCI检测合并并在登台服务器上部署主服务器。 稍后我将master分支手动合并到生产分支上,CircleCI部署到我的生产服务器。

我希望每次将功能分支合并到主分支(通过github UI)时,我的package.json版本都会出现问题。但我不知道是否

  1. Github允许这样做(如果是,请你能解释一下吗?)
  2. 这是一个很好的过程
  3. 我知道当我将master合并到生产中时,我可以通过 npm version 命令执行此操作,但是当我将分支合并到其中时,我确实需要在master上自动更新版本。

    不要犹豫,批评我的方式继续告诉我你的。 :)

    谢谢

1 个答案:

答案 0 :(得分:1)

  1. 我认为Github不提供任何此类功能。但是有一些grunt模块在构建期间执行此操作。你可以编写脚本或者有一个make文件也可以为你做这个。

  2. 我认为这不是版本控制的好方法。完成某项功能后,您必须确定所做的更改是次要还是重大。有时您可能会提交更改。只是将版本号从1.0.1增加到1.0.2或者说1.1.0到1.1.1(每次)都不会传达这些变化的大小。 Best Practice: Software Versioning 这里已经介绍了版本控制的最佳实践。

  3. 我们在工作的地方手动管理版本控制。在每个版本发布之前,我们创建一个标记(v1.0.3,v1.1.4..etc),然后在Github上创建一个版本。在发布的描述中,我们提交了所有新提交。通过提交消息,我们可以很好地了解所做的更改。如果更改仅涉及错误修复和次要功能添加,我们将增加次要编号即。 1.2.1至1.2.2。 如果添加了一个主要的新功能,我们会增加主要版本号,即。 1.2.2至1.3.0。当我们添加许多重大变化时,我们将从1.3.0变为2.0.0。 有时我们对版本控制很松懈。我们的API不公开,我们使用版本控制的唯一原因是部署和回滚。如果你希望让你的工作开源,或者希望通过某种包管理器提供你的工作,比如说npm,你应该严格遵循semver版本。