rikby/gitext

v0.10.1 2017-10-13 11:43 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:43 UTC


README

简介

此应用程序帮助扩展基础GIT API。它扩展了

  • git flow
  • git tag

安装

使用全局作用域安装

通过composer获取包

$ composer global require rikby/gitext ^0.10

并将安装命令放入本地 git

$ gitext install

$ bash ~/.composer/vendor/bin/gitext install

通过 create-project 安装

$ composer create-project rikby/gitext ./gitext ^0.10

并将安装命令放入本地 git

$ php ./gitext/bin/gitext install

内部

请查看用于安装的命令文件列表 在此

使用的命令

排序标签

$ git tags

使用PHP函数 version_compare() 对Git标签进行排序。

使用 semver 工具增加标签

必须安装 SemVer

(您可以在GitBash中尝试使用 此gist 快速安装 node+npm。)

例如,我们需要添加新的构建/预发布

# show tag sorted by semver
$ semver $(git tag)
v1.0.1
[...]
v1.2.0-alpha.5

$ git tag-semver --increment prerelease
New tag: v1.2.0-alpha.1

$ semver $(git tag)
v1.0.1
[...]
v1.2.0-alpha.5
v1.2.0-alpha.6

根据 语义化版本控制 对Git标签进行排序。

实际上它使用PHP函数 version_compare(),但似乎它以相同的方式工作。

没有标签名称验证。

超级功能分支的GitFlow设置

它可以用于使用GitFlow中的您的“超级”问题密钥。当您可以使用git-flow完全开始子任务的特性时。

在这种情况下,“develop”是一个“超级”问题分支,而不是“正确”的develop。

因此,有两种模式

  • 默认
feature prefix = feature/
develop branch = develop
  • 根特性
feature prefix = feature/super-
develop branch = feature/super

多composer仓库的GitFlow设置

git flow-namespace

仅适用于 多composer仓库 仓库。

基于分支命名空间定义 GitFlow 设置。

命名空间将由分支名称自动设置。

您可以添加 post-checkout Git钩子。

printf "#!""/usr/bin/env bash\n git flow-namespace $@" > $(git rev-parse --show-toplevel)/.git/hooks/post-checkout

.git/hooks/post-checkout 文件内容

#!/usr/bin/env bash
git flow-namespace $@

环境变量

  • GITEXT_SEMVER_BIN - 指向自定义路径的 semver 二进制文件的变量。
  • GITEXT_GIT_BIN - 指向自定义路径的 git 二进制文件的变量。
  • GITEXT_PHP_BIN - 指向自定义路径的 php 二进制文件的变量。

用户GIT命令

您可以创建自己的命令。以下是一个示例。

创建文件 ~/.gitext/git-hello-there.sh

#!/usr/bin/env bash

# CMD: git hello-there
# DESCR: Some test command.

# you may include some file GitExt files
# . $(gitext source)/shell/lib/git.sh

echo Hello there

在命令列表中检查它

$ gitext install --help
[...]
   git hello-there        Some test command.

安装并测试

$ gitext install

$ git hello-there
Hello there