glab是 GitLab 官方推出的开源命令行工具(GitLab CLI),类似于 GitHub 的gh命令。它允许开发者直接在终端中管理 GitLab 的 Merge Request (MR)、Issues、CI/CD 流水线、代码仓库等,无需频繁切换到网页端。
核心功能概览
- 代码审查与 MR:创建、查看、审批、合并 Merge Request,查看 diff。
- Issue 跟踪:创建、分配、关闭、列出 Issue。
- CI/CD 运维:实时查看流水线状态、查看 Job 日志(Trace)、重试或取消构建。
- 仓库管理:克隆、Fork、创建仓库。
- 支持私有部署:完美支持自建的 GitLab 私有服务器(Self-managed GitLab)。
安装方法(Linux)
根据不同的 Linux 发行版,选择对应的安装方式:
Ubuntu / Debian
apt install glab
# 命令行安装
curl -s https://gitlab.com/gitlab-org/cli/-/raw/main/scripts/install.sh | sudo shArch Linux
sudo pacman -S glabFedora / CentOS / RHEL
sudo dnf install glab
# 或者
sudo yum install glabSnap / Homebrew
sudo snap install glab
# 或者使用 Linuxbrew
brew install glab初次配置与登录认证
安装完成后,首先需要登录认证:
glab auth login终端会通过交互式引导完成认证:
- 选择 GitLab 实例:GitLab.com 还是自建私有服务器(输入自建域名,如
gitlab.mycompany.com)。 - 选择认证方式:
- 网页授权(Web browser)
- 个人访问令牌(Personal Access Token,权限至少需要
api和write_repository)。
检查登录状态:
glab auth status常用命令与使用场景
glab 的命令设计非常直观,通常是 glab <资源对象> <子操作>。
Merge Request (MR) 管理
# 创建 MR(支持交互式引导填写标题、描述、指定审查人)
glab mr create
# 快速创建 MR 并自动推送到远端、设置自动合并
glab mr create --fill --yes --push
# 查看当前分支关联的 MR 状态/详情
glab mr view
# 列出仓库中的 MR
glab mr list
glab mr list --assignee=@me # 查看指派给我的 MR
# 在终端查看 MR 的代码变动 (diff)
glab mr diff
# 审批并合并 MR
glab mr approve <MR-ID>
glab mr merge <MR-ID>CI/CD 流水线管理
# 查看当前分支或指定 commit 的流水线状态
glab ci status
# 实时追踪/查看正在运行的 Job 控制台日志(非常实用)
glab ci trace
# 查看完整的流水线视图(交互式界面)
glab ci view
# 重试失败的 Job
glab ci retryIssue(工单)管理
# 交互式创建 Issue
glab issue create
# 列出待办的 Issue
glab issue list
# 查看特定 Issue 详情
glab issue view 123
# 关闭 Issue
glab issue close 123代码仓库操作
# 克隆仓库
glab repo clone group/project
# 在浏览器中快速打开当前仓库网页
glab repo view --web
# Fork 当前仓库
glab repo fork进阶技巧
- 设置默认编辑器:
bashglab config set editor vim - 自定义别名(Aliases):
如果觉得命令太长,可以像 git 一样设置别名:
bashglab alias set co `mr checkout` # 以后就可以用 glab co 123 来快速切换检出对应 MR 的分支 - 获取命令帮助:
任何命令后加
--help即可查看参数详情: bashglab mr create --help