38 个版本 (16 个破坏性更新)
0.17.0 | 2020 年 7 月 27 日 |
---|---|
0.15.7 | 2020 年 7 月 23 日 |
#868 在 开发工具
每月下载 96 次
280KB
6K SLoC
git_lab_cli
这是一个 CLI 工具,它将 lab
命令添加到 git
中,以实现与 GitLab 服务器的交互。
变更日志
有关每个版本中添加的修复和功能的总结,请参阅 CHANGELOG.md。
功能
此工具旨在作为纯 git
CLI 命令的自定义命令。安装后,您可以使用以下命令调用它:git lab <子命令> <选项>...
。
当前功能
init
-- 初始化与远程 GitLab 服务器的凭据project
-- 与 GitLab 项目交互project create
-- 创建项目project attach
-- 将本地仓库与项目关联project (open|view|browse)
-- 在浏览器中打开项目的 URLproject (show|info|get)
-- 显示有关项目的详细信息
issue
-- 与问题交互issue create
-- 创建问题(可以通过 CLI 传递的参数完全创建,也可以通过提示用户输入所需输入进行交互式创建)issue assign
-- 分配问题issue (open|view|browse)
-- 在浏览器中打开问题的 URLissue (show|info|get)
-- 显示有关问题的详细信息issue list
-- 获取问题列表issue close
-- 关闭问题issue reopen
-- 重新打开问题issue lock
-- 锁定问题上的讨论issue unlock
-- 解锁问题上的讨论
mr
-- 与合并请求交互mr create
-- 创建合并请求(可以通过 CLI 传递的参数完全创建,也可以通过提示用户输入所需输入进行交互式创建)mr assign
-- 分配合并请求mr close
-- 关闭合并请求mr reopen
-- 重新打开合并请求mr lock
-- 锁定合并请求上的讨论mr unlock
-- 解锁合并请求上的讨论mr list
-- 获取合并请求列表mr (open|view|browse)
-- 在浏览器中打开合并请求的URLmr (show|info|get)
-- 显示有关合并请求的详细信息mr (checkout|co)
--检出合并请求mr wip
-- 切换WIP:
(或Draft:
)合并请求的状态mr approve
-- 批准合并请求mr merge
-- 合并合并请求
计划中的功能
labels
-- 与 Gitlab 标签交互project list
-- 获取项目列表pipeline
-- 与 Gitlab CI 任务交互group
-- 与 Gitlab 组交互user
-- 与 Gitlab 用户交互- 可能还有其他...
特性
当前特性
- 使用标准
git config
机制存储配置 - 本地缓存的 Gitlab 元数据,以改进创建 gitlab 对象时的交互式可用性
- 除了纯文本外,还有 JSON 输出,以便使用
jq
等工具进行解析 - 基于终端的 markdown 渲染
$EDITOR
在create
命令上的集成musl
二进制文件可在此处获得 这里
计划中的特性
- 支持各种 Linux 打包工具,如 AUR、Deb、RPM 等
- 非 Linux 支持(请求 PR!)
安装
Cargo
如果您已安装 Rust 工具链,您可以通过 cargo
进行安装
cargo install git_lab_cli
静态链接的 Linux 二进制文件
您可以从 这里 下载这些 tarball。解压缩文件,然后按照以下示例将包含的文件复制到正确位置
cd git_lab_cli-x.y.z-x86_64-unknown-linux-musl
sudo cp git-lab /usr/local/bin/
sudo cp man/git-lab.1 /usr/local/share/man/man1/
入门
要将 git-lab
命令行二进制文件连接到 GitLab 实例,您需要创建一个个人访问令牌。在 Gitlab.com 上,您可以在 这里 完成。将令牌复制到剪贴板,然后从您的家目录中运行以下命令
git lab init
这会提示您输入所需的设置参数,其中一个将要求您将上一步复制的 GitLab 令牌粘贴到配置中。然后,您的默认 .gitconfig
将更新为连接 git-lab
到您的服务器所需的信息。您也可以使用 vanilla git config
命令设置此配置。有关如何操作的详细信息,请参阅 git lab init --help
。
要从现有的 git 仓库开始,最简单的方法是在仓库内部运行以下命令
git lab project attach
该工具将根据您的origin
git远程仓库将您正在工作的git仓库与服务器端的GitLab项目相关联。完成此操作后,您将能够在repo的子树内查询、创建和修改项目特定的对象,如GitLab问题、合并请求等。
兼容性
该工具试图紧密跟踪GitLab.com的最新版本。目前,GitLab 13.0及以上版本兼容,但早期版本不兼容。
贡献
欢迎合并请求。请将合并请求提交到GitLab,而不是GitHub。
许可:MIT
依赖项
~26–40MB
~758K SLoC