OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  gitlab-cli-skills:GitLab CLI (glab) 常用命令技能

gitlab-cli-skills:GitLab CLI (glab) 常用命令技能

 
  astral ·  2026-02-02 14:18:54 · 17 次点击  · 0 条评论  

名称: gitlab-cli-skills
描述: 全面的 GitLab CLI (glab) 命令参考和终端工作流,涵盖所有 GitLab 操作。当用户提及 GitLab CLI、glab 命令、GitLab 自动化、通过 CLI 管理 MR/issue、CI/CD 管道命令、仓库操作、身份验证设置或任何 GitLab 终端操作时使用。可路由至身份验证、CI、MR、issue、发布、仓库等 30 多个 glab 命令的专用子技能。触发词:glab、GitLab CLI、GitLab 命令、GitLab 终端、GitLab 自动化。
requirements:
binaries:
- glab
binaries_optional:
- cosign
notes: |
需要通过 glab auth login 进行 GitLab 身份验证(令牌存储在 ~/.config/glab-cli/config.yml 中)。
某些功能可能访问敏感文件:SSH 密钥(~/.ssh/id_rsa 用于 DPoP)、Docker 配置(~/.docker/config.json 用于注册表身份验证)。
在自主使用前,请审阅身份验证工作流和脚本内容。


GitLab CLI 技能

全面的 GitLab CLI (glab) 命令参考和工作流。

快速开始

# 首次设置
glab auth login

# 常用操作
glab mr create --fill              # 从当前分支创建 MR
glab issue create                  # 创建 issue
glab ci view                       # 查看管道状态
glab repo view --web              # 在浏览器中打开仓库

技能组织

本技能按 GitLab 领域路由至专用子技能:

核心工作流:
- glab-mr - 合并请求:创建、审查、批准、合并
- glab-issue - Issue:创建、列表、更新、关闭、评论
- glab-ci - CI/CD:管道、作业、日志、制品
- glab-repo - 仓库:克隆、创建、分叉、管理

项目管理:
- glab-milestone - 发布规划和里程碑跟踪
- glab-iteration - 冲刺/迭代管理
- glab-label - 标签管理和组织
- glab-release - 软件发布和版本管理

身份验证与配置:
- glab-auth - 登录、登出、Docker 注册表身份验证
- glab-config - CLI 配置和默认值
- glab-ssh-key - SSH 密钥管理
- glab-gpg-key - 用于提交签名的 GPG 密钥
- glab-token - 个人和项目访问令牌

CI/CD 管理:
- glab-job - 单个作业操作
- glab-schedule - 计划管道和定时任务
- glab-variable - CI/CD 变量和密钥
- glab-securefile - 管道的安全文件
- glab-runner-controller - Runner 控制器和令牌管理(实验性,仅管理员)

协作:
- glab-user - 用户资料和信息
- glab-snippet - 代码片段(GitLab gists)
- glab-incident - 事件管理

高级功能:
- glab-api - 直接 REST API 调用
- glab-cluster - Kubernetes 集群集成
- glab-deploy-key - 用于自动化的部署密钥
- glab-stack - 堆叠/依赖的合并请求
- glab-opentofu - Terraform/OpenTofu 状态管理

实用工具:
- glab-alias - 自定义命令别名
- glab-completion - Shell 自动补全
- glab-help - 命令帮助和文档
- glab-version - 版本信息
- glab-check-update - 更新检查器
- glab-changelog - 变更日志生成
- glab-attestation - 软件供应链安全
- glab-duo - GitLab Duo AI 助手
- glab-mcp - 用于 AI 助手集成的模型上下文协议服务器(实验性)

何时使用 glab 与 Web UI

使用 glab 的场景:
- 在脚本中自动化 GitLab 操作
- 以终端为中心的工作流
- 批量操作(多个 MR/issue)
- 与其他 CLI 工具集成
- CI/CD 管道工作流
- 无需浏览器上下文切换的快速导航

使用 Web UI 的场景:
- 带有行内评论的复杂差异审查
- 可视化合并冲突解决
- 配置仓库设置和权限
- 跨项目的高级搜索/筛选
- 审查安全扫描结果
- 管理群组/实例级设置

常用工作流

日常开发

# 开始处理 issue
glab issue view 123
git checkout -b 123-功能名称

# 准备就绪后创建 MR
glab mr create --fill --draft

# 标记为可审查
glab mr update --ready

# 批准后合并
glab mr merge --when-pipeline-succeeds --remove-source-branch

代码审查

# 列出你的审查队列
glab mr list --reviewer=@me --state=opened

# 审查一个 MR
glab mr checkout 456
glab mr diff
npm test

# 批准
glab mr approve 456
glab mr note 456 -m "LGTM!错误处理做得很好。"

CI/CD 调试

# 检查管道状态
glab ci status

# 查看失败的作业
glab ci view

# 获取作业日志
glab ci trace <作业ID>

# 重试失败的作业
glab ci retry <作业ID>

决策树

“我应该先创建 MR 还是处理 issue?”

需要跟踪工作吗?
├─ 是 → 先创建 issue (glab issue create)
│         然后:glab mr for <issue-id>
└─ 否 → 直接创建 MR (glab mr create --fill)

使用 glab issue create + glab mr for 的场景:
- 工作需要在编码前讨论/批准
- 跟踪功能请求或错误
- 冲刺规划和分配
- 希望 MR 合并时自动关闭 issue

直接使用 glab mr create 的场景:
- 快速修复或拼写错误
- 基于现有 issue 工作
- 热修复或紧急更改

“我应该使用哪个 CI 命令?”

你需要什么?
├─ 整体管道状态 → glab ci status
├─ 可视化管道视图 → glab ci view
├─ 特定作业日志 → glab ci trace <作业ID>
├─ 下载构建制品 → glab ci artifact <引用> <作业名称>
├─ 验证配置文件 → glab ci lint
├─ 触发新运行 → glab ci run
└─ 列出所有管道 → glab ci list

快速参考:
- 管道级别:glab ci statusglab ci viewglab ci run
- 作业级别:glab ci traceglab job retryglab job view
- 制品:glab ci artifact(按管道)或通过 glab job 获取作业制品

“克隆还是分叉?”

你与仓库的关系是什么?
├─ 你有写入权限 → glab repo clone 群组/项目
├─ 为他人项目做贡献:
│   ├─ 一次性贡献 → glab repo fork + 工作 + MR
│   └─ 持续贡献 → glab repo fork,然后定期同步
└─ 仅阅读/探索 → glab repo clone(或 view --web)

分叉的场景:
- 你对原始仓库没有写入权限
- 为开源项目做贡献
- 在不影响原始仓库的情况下进行实验
- 需要自己的副本进行长期工作

克隆的场景:
- 你是具有写入权限的项目成员
- 在组织/团队仓库上工作
- 不需要个人副本

“项目标签还是群组标签?”

标签应该放在哪里?
├─ 跨多个项目使用 → glab label create --group <群组>
└─ 特定于一个项目 → glab label create(在项目目录中)

群组级标签:
- 跨组织保持标签一致性
- 示例:priority::high、type::bug、status::blocked
- 集中管理,由项目继承

项目级标签:
- 项目特定的工作流
- 示例:needs-ux-review、deploy-to-staging
- 由项目维护者管理

相关技能

MR 和 Issue 工作流:
- 从 glab-issue 开始创建/跟踪工作
- 使用 glab-mr 创建关闭 issue 的 MR
- 脚本:scripts/create-mr-from-issue.sh 可自动化此过程

CI/CD 调试:
- 使用 glab-ci 进行管道级操作
- 使用 glab-job 进行单个作业操作
- 脚本:scripts/ci-debug.sh 用于快速故障诊断

仓库操作:
- 使用 glab-repo 进行仓库管理
- 使用 glab-auth 进行身份验证设置
- 脚本:scripts/sync-fork.sh 用于分叉同步

配置:
- 使用 glab-auth 进行初始身份验证
- 使用 glab-config 设置默认值和偏好
- 使用 glab-alias 创建自定义快捷方式

17 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 66 ms
Developed with Cursor