用途:通过 GitLab 官方命令行工具 glab 完成日常协作操作,包括创建与审查合并请求(MR)、管理议题(Issue)、监控 CI/CD 流水线,以及直接调用 GitLab REST API。适用于终端内操作 GitLab、脚本自动化,以及自托管 GitLab 实例。
主要能力与用法:认证前先检查 glab auth status;登录用 glab auth login(自托管加 --hostname gitlab.example.org)。不在目标仓库目录时统一加 -R owner/repo。自托管实例若当前 glab 版本不支持全局 --hostname,可在命令环境中设置 GITLAB_HOST;使用前先用 glab <command> --help 确认。程序化解析输出时加 --output=json。MR 流程包括 glab mr create、mr view、mr list、mr checkout、mr approve、mr merge;创建 MR 时资料建议在用户未明确反对时添加 --remove-source-branch --squash-before-merge。Issue 支持 create、list、close。CI/CD 支持 glab ci status(--live 持续观察)、glab pipeline ci view、glab ci trace、glab ci lint、glab ci run、glab ci retry;脚本中无内置阻塞等待,可用 glab api 轮询 pipelines 状态,或在合并时使用 glab mr merge <MR_ID> --when-pipeline-succeeds。API 用法如 glab api projects/:id/merge_requests、glab api --paginate、glab api --method POST。
限制与注意事项:分页参数放在 URL 中而非标志位,例如 glab api "projects/:id/jobs?per_page=100"。禁止在命令中硬编码令牌,应使用 glab auth login 或 GITLAB_TOKEN 环境变量。部分 glab 版本在 MR 命令上不支持 --hostname,也不一定有 mr create 的 --description-file,需以 --help 为准。遇到 401、404、非 git 仓库、源分支已有 MR 等错误按对应方式处理;自托管网络超时不应直接判定不可行,可在可达主机上运行 glab 或经其推送。诊断配置优先级时不要读取或打印令牌文件。资料未提供收费、价格或平台范围等信息。