hyn/git-helpers

同时管理多个Git仓库的便捷工具。

0.2.0 2016-11-16 07:53 UTC

This package is auto-updated.

Last update: 2024-09-05 18:23:21 UTC


README

此包旨在在您的终端中使用。它允许您同时处理包含git仓库的多个子目录。

安装

composer global require hyn/git-helpers

请确保将 ~/.composer/vendor/bin 目录放置在您的 PATH 中,以便系统可以找到 gh 可执行文件。

用法

现在您可以在全局范围内使用命令 gh,例如:

gh status

用例

此包在您使用 composer 中的 仓库路径配置 管理开发包时特别有帮助。

如果您创建一个包含所有开发包的工作台目录,您可以将 composer 文件设置为指向这些包

{
    "require": {
        "vendor/package": "*@dev"
    },
    "repositories": [
        {
            "type": "path",
            "url": "workbench/*/"
        }
    ]
}

上述操作将自动将开发包从工作台链接到 vendor 文件夹。

请注意,在上面的仓库路径配置中,预期包将直接位于工作台目录中,例如: workbench/package。在 workbench/package/composer.json 中应存在 composer.json 文件。

gh status

现在您可以在工作台文件夹中使用 gh status 命令立即检查您的 git 远程和本地更改的状态。

以下因素会被考虑:

  • 一个包含以下内容的标题:
    • 包的名称(如果是 json 文件)。
    • 最新版本(基于最新标签)。
  • 开放更改(未提交的、新的等)。
  • 自上次标签以来的提交数。
  • 未推送的提交数。

gh pull

gh pull 命令允许您将所有子目录拉取到最新更改。

您可以使用可选参数匹配与特定(正则表达式)匹配的子目录;例如

gh pull ^feature-

仅拉取以 feature- 开头的目录。

请注意,此命令不会从远程拉取更改,如果检测到未提交的更改。除非您

  • 使用 --force 或缩写 -f 命令选项强制拉取。在大多数情况下,这非常糟糕!
  • 使用 --stash-s 命令选项来存档和取消存档您的更改。

gh tag

gh tag 命令可用于向您的仓库添加新标签。如果检测到自最新标签以来的提交,您将被要求提供新标签。您也可以通过留空输入来跳过。

与 pull 命令一样,您可以使用可选参数来匹配特定目录。

使用 --up 选项可以指定您希望在建议输入中看到上一个版本的部分,您可以选择主要、次要或补丁。

gh changelog

使用 gh changelog 命令,您可以轻松地在版本之间生成更改日志。请理解,这是两个版本之间的简单解析提交历史。

该命令将遍历所有您的仓库,找到所有标签,并将自动生成一个 diff 日志文件在指定的子文件夹中(使用 --path 选项来覆盖默认值 "changelogs")。请注意,在写入之前,任何现有文件都将被删除!

与其他一些命令一样,您可以使用参数来过滤目录,并使用 -f 来强制在目录中有开放更改时创建更改日志。

gh commit

《gh commit》命令允许您将类似更改提交到所有存储库。可以使用-m命令指定提交信息。

与其他命令一样,您可以使用可选参数仅匹配特定目录。

gh push

《gh push》命令将所有存储库中的当前分支推送到远程。

与其他命令一样,您可以使用可选参数仅匹配特定目录。