hyn / git-helpers
同时管理多个Git仓库的便捷工具。
Requires
- php: >=5.5.9
- illuminate/support: ^5.2
- symfony/console: ^2.6|^3.0
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》命令将所有存储库中的当前分支推送到远程。
与其他命令一样,您可以使用可选参数仅匹配特定目录。