核心用法
glab 是 GitLab 官方命令行工具,提供对 GitLab 全功能的终端访问。核心工作流包括:
认证与配置:glab auth login 完成初始认证,支持 OAuth 和 PAT 两种方式,令牌存储于 ~/.config/glab-cli/config.yml。
日常开发:glab mr create --fill 从当前分支创建 MR,glab issue create 管理事务,glab ci view 查看流水线状态。支持 --draft/--ready 状态切换和自动化合并 --when-pipeline-succeeds。
代码审查:glab mr list --reviewer=@me 列出待审 MR,glab mr checkout 切换到 MR 分支,glab mr diff 查看差异,支持内联评论 glab mr note。
CI/CD 调试:glab ci status/glab ci view 查看流水线,glab ci trace <job-id> 获取实时日志,glab ci retry 重试失败任务,glab ci artifact 下载构建产物。
项目与仓库:glab repo clone/fork 管理仓库,glab repo view --web 浏览器打开,glab release create 处理软件发布。
扩展能力:30+ 子技能覆盖 label、milestone、runner、schedule、secure file、deploy key、snippet、user 等;glab-api 支持直接 REST 调用;glab-mcp 提供 Model Context Protocol 服务器用于 AI 集成。
显著优点
- 功能完整:几乎覆盖 GitLab Web UI 全部功能,减少浏览器切换
- 自动化友好:适合脚本化、批量操作和 CI 流水线集成
- 决策清晰:内置多决策树(MR vs Issue、CI 命令选择、clone vs fork)
- 子技能架构:按需路由到专业化模块,降低认知负荷
- 工作流内置:提供
scripts/create-mr-from-issue.sh、ci-debug.sh等现成脚本
潜在局限
- 审查体验:复杂 diff 审查、内联评论可视化仍不如 Web UI
- 冲突解决:无可视化合并冲突解决能力
- 高级搜索:跨项目高级搜索/过滤功能有限
- 权限配置:仓库设置、组级权限管理需回 Web UI
- 实验性功能:
glab-runner-controller和glab-mcp标记为 EXPERIMENTAL
适合人群
- 终端优先的开发者日常 GitLab 操作
- DevOps/SRE 工程师编写 GitLab 自动化脚本
- 需要批量处理 MR/issue 的维护者
- 将 GitLab 操作集成到 CI/CD 流水线的场景
常规风险
- 令牌安全:认证令牌存储于本地 YAML 文件,需保护
~/.config/glab-cli/目录权限 - 敏感文件访问:脚本可能访问
~/.ssh/id_rsa(DPoP)和~/.docker/config.json(registry auth) - 写权限代理:自动化脚本可代表用户发表评论、解决线程、批准 MR,需在 agentic 场景下审查
post-inline-comment.py等脚本内容 - 网络暴露:仅支持 HTTPS,令牌不会通过 HTTP 明文传输