核心用法
glab 是 GitLab 官方维护的命令行工具,提供覆盖 GitLab 全功能的终端操作能力。核心工作流包括:glab auth login 完成认证后,通过 glab mr create --fill 快速创建合并请求,glab ci view 可视化流水线状态,glab issue create 管理问题跟踪。工具采用子命令模块化设计,按领域划分为 30+ 个子技能,如 glab-mr、glab-ci、glab-repo 等,每个子命令支持 --output json 结构化输出,便于自动化解析。
显著优点
- 官方权威:GitLab 官方出品,API 同步更新,功能覆盖度最全
- 终端原生:无需切换浏览器,适合键盘驱动的开发工作流
- 脚本友好:支持 JSON 输出、环境变量注入(GITLAB_TOKEN),易于 CI/CD 集成
- 身份管理:支持多账户/多 agent 身份隔离,通过独立 env 文件实现精细权限控制
- 持续迭代:v1.89+ 版本新增 18 个命令的 JSON 输出支持,v1.92 新增 todo 管理功能
潜在局限
- 功能边界:复杂 diff 审查、可视化冲突解决仍需 web UI
- 学习成本:30+ 子命令体系对新手有一定记忆负担
- 认证敏感:依赖 ~/.config/glab-cli/config.yml 存储 token,需严格权限控制(建议 chmod 600)
- 身份粘滞风险:shell 环境变量未正确清理时可能导致误用身份执行写操作
适合人群
- 终端优先的开发者与 DevOps 工程师
- 需要批量操作 MR/Issue 的维护者
- 构建 GitLab 自动化脚本的 CI/CD 工程师
- 多账户/多团队协作场景下的权限管理员
常规风险
- 认证泄露:config.yml 或 env 文件备份时可能意外暴露 token
- 越权操作:未执行
glab auth status预检时,可能以错误身份批准 MR 或发表评论 - 脚本注入:使用
glab api直接调用 REST API 时需注意参数转义 - 凭证残留:共享 shell 会话中未 unset 变量可能导致后续命令继承错误身份