aoe/tagging

此包已被弃用且不再维护。未建议替代包。

构建工具,用于自动增加版本并在远程VCS仓库中创建标签。

0.4.4 2018-09-28 11:47 UTC

README

Build Status

Tagging

这个PHP库提供在远程VCS仓库中根据最后创建的标签/版本自动创建新标签/版本的功能。它遵循语义化版本控制模式:[http://semver.org/](http://semver.org/)。您可以配置要增加的版本类型。例如,可以是“major”或“minor”增加。

功能

  • 遵循语义化版本控制模式
  • 支持主版本、次版本和补丁版本
  • 集成GIT
  • 在创建新标签/版本之前提交(并推送)额外文件
  • 干运行。仅评估下一个标签/版本

索引

安装

此库是用composer构建的。因此,您可以克隆此存储库并使用composer安装依赖项,或者在项目的composer.json中添加此库。

克隆

从GitHub克隆存储库

git clone https://github.com/AOEpeople/Tagging.git .

并使用composer安装依赖项

wget https://getcomposer.org.cn/composer.phar
php composer.phar install

Composer

或将包名添加到您的composer.json中

"require": {
    "aoe/tagging": "0.1.*"
}

使用

php bin/tagging [VCS] [REPOSITORY] [PATH]

例如

php bin/tagging git https://github.com/company/package.git /path/to/local/checkout

版本类型

默认情况下,版本将通过“补丁”版本增加。例如:0.2.5将增加到0.2.6。您可以通过设置--version-type选项来配置要增加的版本类型。

php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --version-type=minor

在上面的示例中,次要版本将增加。例如:0.2.5将增加到0.3.0。

允许的版本类型有

  • major
  • minor
  • patch

在创建新标签/版本之前提交文件

在某些情况下,在创建新标签/版本之前提交(并推送)文件到远程是有用的。例如,如果您有一个版本文件在您的存储库中,在创建新标签/版本之前必须更新它。如果需要提交(并推送)文件到远程,请添加--commit-and-push选项。值是必需的,必须包含要提交文件的相对路径。

php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --commit-and-push=version.txt

上面的示例将在创建新标签/版本之前提交(并推送)“version.txt”文件到远程。

如果您想自定义提交消息,请添加--message选项并指定消息作为值。默认情况下,消息为空。

php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --commit-and-push=version.txt --message="my custom commit message"

自定义起始版本

有时需要定义新版本是从哪个版本生成的。例如,您已经有了以下现有版本

  • 1.1.0
  • 1.2.0

但是您需要为1.1.0(1.1.1)创建一个补丁版本。由于这个库始终使用您的最新版本进行增加,所以它将为1.2.0(1.2.1)创建一个补丁版本。为了避免这种情况,可以通过设置选项--from-version并将值设置为1.1.0来指定起始版本。这将创建版本1.1.1。

php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --from-version=1.1.0

评估(干运行)

您可以将--evaluate选项设置为找出将创建哪个标签/版本。如果设置了此选项,实际上不会做任何事情。您只是会看到如果没有设置评估选项,将会创建的下一个版本/标签的输出。

php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --evaluate

分支标签

有时我们甚至需要为分支打标签,例如,在您将错误修复推送到您的分支而不是推送到master之后。在这种情况下,只需设置带有分支名称的选项:--branch即可。

php bin/tagging git https://github.com/company/package.git /path/to/local/branch-checkout --branch=myBranchName

检出指定分支

如果您有任何需要提交和推送到特定分支的更改,您必须在提交和推送之前检出该特定分支。这可以通过添加选项--switch-branch来实现。但为了能够检出特定分支,您还必须使用--branch指定分支名称。

php bin/tagging git https://github.com/company/package.git /path/to/local/branch-checkout --branch=myBranchName --switch-branch