GitLab 命令行工具 Glab 介绍

发布时间: 更新时间: 总字数:999 阅读时间:2m 作者:IP:上海 网址

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

bash
apt install glab

# 命令行安装
curl -s https://gitlab.com/gitlab-org/cli/-/raw/main/scripts/install.sh | sudo sh

Arch Linux

bash
sudo pacman -S glab

Fedora / CentOS / RHEL

bash
sudo dnf install glab
# 或者
sudo yum install glab

Snap / Homebrew

bash
sudo snap install glab
# 或者使用 Linuxbrew
brew install glab

初次配置与登录认证

安装完成后,首先需要登录认证:

bash
glab auth login

终端会通过交互式引导完成认证:

  1. 选择 GitLab 实例:GitLab.com 还是自建私有服务器(输入自建域名,如 gitlab.mycompany.com)。
  2. 选择认证方式:
    • 网页授权(Web browser)
    • 个人访问令牌(Personal Access Token,权限至少需要 api 和 write_repository)。

检查登录状态:

bash
glab auth status

常用命令与使用场景

glab 的命令设计非常直观,通常是 glab <资源对象> <子操作>。

Merge Request (MR) 管理

bash
# 创建 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 流水线管理

bash
# 查看当前分支或指定 commit 的流水线状态
glab ci status

# 实时追踪/查看正在运行的 Job 控制台日志(非常实用)
glab ci trace

# 查看完整的流水线视图(交互式界面)
glab ci view

# 重试失败的 Job
glab ci retry

Issue(工单)管理

bash
# 交互式创建 Issue
glab issue create

# 列出待办的 Issue
glab issue list

# 查看特定 Issue 详情
glab issue view 123

# 关闭 Issue
glab issue close 123

代码仓库操作

bash
# 克隆仓库
glab repo clone group/project

# 在浏览器中快速打开当前仓库网页
glab repo view --web

# Fork 当前仓库
glab repo fork

进阶技巧

  1. 设置默认编辑器:
    bash
    glab config set editor vim
  2. 自定义别名(Aliases): 如果觉得命令太长,可以像 git 一样设置别名:
    bash
    glab alias set co `mr checkout`
    # 以后就可以用 glab co 123 来快速切换检出对应 MR 的分支
  3. 获取命令帮助: 任何命令后加 --help 即可查看参数详情:
    bash
    glab mr create --help