gitlab-mr
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMerge Request Skill
Merge Request 操作技能
Merge request operations for GitLab using the CLI.
glab使用 CLI工具执行GitLab合并请求操作。
glabQuick Reference
快速参考
| Operation | Command | Risk |
|---|---|---|
| List MRs | | - |
| View MR | | - |
| Create MR | | ⚠️ |
| Checkout MR | | - |
| Approve MR | | ⚠️ |
| Merge MR | | ⚠️⚠️ |
| Update MR | | ⚠️ |
| Close MR | | ⚠️ |
| Reopen MR | | ⚠️ |
| Delete MR | | ⚠️⚠️ |
| Rebase MR | | ⚠️ |
Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger
| 操作 | 命令 | 风险等级 |
|---|---|---|
| 列出合并请求 | | - |
| 查看MR详情 | | - |
| 创建MR | | ⚠️ |
| 检出MR分支 | | - |
| 批准MR | | ⚠️ |
| 合并MR | | ⚠️⚠️ |
| 更新MR | | ⚠️ |
| 关闭MR | | ⚠️ |
| 重新打开MR | | ⚠️ |
| 删除MR | | ⚠️⚠️ |
| 变基MR | | ⚠️ |
风险等级说明:- 安全 | ⚠️ 注意 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危险
When to Use This Skill
何时使用此技能
ALWAYS use when:
- User wants to work with merge requests
- User mentions "MR", "merge request", "pull request", or related terms
- User wants to review, approve, or merge code
NEVER use when:
- User wants bulk operations on 10+ MRs (use gitlab-bulk instead)
- User is only searching/filtering MRs (use gitlab-search instead)
请务必在以下场景使用:
- 用户需要处理合并请求
- 用户提及“MR”、“merge request”、“pull request”或相关术语
- 用户需要评审、批准或合并代码
请勿在以下场景使用:
- 用户需要对10个以上MR执行批量操作(请使用gitlab-bulk工具)
- 用户仅需搜索/筛选MR(请使用gitlab-search工具)
Available Commands
可用命令
List Merge Requests
列出合并请求
bash
glab mr list [options]Options:
| Flag | Description |
|---|---|
| Filter by assignee (use @me for yourself) |
| Filter by reviewer |
| Filter by author |
| Filter by comma-separated labels |
| Filter by state: opened, closed, merged, all |
| Filter by source branch |
| Filter by target branch |
| Number of items per page |
Examples:
bash
undefinedbash
glab mr list [options]参数选项:
| 参数 | 说明 |
|---|---|
| 按经办人筛选(@me代表当前用户) |
| 按评审人筛选 |
| 按作者筛选 |
| 按逗号分隔的标签筛选 |
| 按状态筛选:opened(打开)、closed(关闭)、merged(已合并)、all(全部) |
| 按源分支筛选 |
| 按目标分支筛选 |
| 每页显示的条目数量 |
示例:
bash
undefinedList MRs assigned to you
列出分配给你的MR
glab mr list --assignee=@me
glab mr list --assignee=@me
List review requests for you
列出需要你评审的MR
glab mr list --reviewer=@me
glab mr list --reviewer=@me
List open MRs with specific label
列出带有特定标签的已打开MR
glab mr list --state=opened --label=bug
glab mr list --state=opened --label=bug
List MRs targeting main branch
列出目标分支为main的MR
glab mr list --target-branch=main
undefinedglab mr list --target-branch=main
undefinedView Merge Request Details
查看合并请求详情
bash
glab mr view <id> [options]Options:
| Flag | Description |
|---|---|
| Open MR in browser |
| Show MR comments and notes |
| Show system activities/logs |
Examples:
bash
undefinedbash
glab mr view <id> [options]参数选项:
| 参数 | 说明 |
|---|---|
| 在浏览器中打开MR |
| 显示MR的评论和备注 |
| 显示系统活动/日志 |
示例:
bash
undefinedView MR details in terminal
在终端中查看MR详情
glab mr view 123
glab mr view 123
Open MR in browser
在浏览器中打开MR
glab mr view 123 --web
glab mr view 123 --web
View MR with comments
查看包含评论的MR详情
glab mr view 123 --comments
undefinedglab mr view 123 --comments
undefinedCreate Merge Request
创建合并请求
bash
glab mr create [options]Options:
| Flag | Description |
|---|---|
| MR title |
| MR description |
| Target branch (default: default branch) |
| Use commit messages for title/description |
| Create as draft MR |
| Comma-separated assignees |
| Comma-separated reviewers |
| Comma-separated labels |
| Milestone title |
| Squash commits on merge |
| Remove source branch on merge |
| Open created MR in browser |
| Skip confirmation prompts |
Examples:
bash
undefinedbash
glab mr create [options]参数选项:
| 参数 | 说明 |
|---|---|
| MR标题 |
| MR描述 |
| 目标分支(默认:项目默认分支) |
| 使用提交信息自动填充标题/描述 |
| 创建草稿MR |
| 逗号分隔的经办人列表 |
| 逗号分隔的评审人列表 |
| 逗号分隔的标签列表 |
| 关联的里程碑标题 |
| 合并时压缩提交 |
| 合并后删除源分支 |
| 在浏览器中打开已创建的MR |
| 跳过确认提示 |
示例:
bash
undefinedCreate MR with title and description
创建带有标题和描述的MR
glab mr create -t "Add new feature" -d "This MR adds..."
glab mr create -t "Add new feature" -d "This MR adds..."
Create MR from commit messages
使用提交信息创建MR
glab mr create --fill
glab mr create --fill
Create draft MR
创建草稿MR
glab mr create --draft -t "WIP: New feature"
glab mr create --draft -t "WIP: New feature"
Create MR with reviewers and labels
创建带有评审人和标签的MR
glab mr create -t "Fix bug" -r "reviewer1,reviewer2" -l "bug,urgent"
glab mr create -t "Fix bug" -r "reviewer1,reviewer2" -l "bug,urgent"
Create MR and open in browser
创建MR并在浏览器中打开
glab mr create -t "Feature" --web
undefinedglab mr create -t "Feature" --web
undefinedCheckout Merge Request Branch
检出合并请求分支
bash
glab mr checkout <id> [options]Shortcut:
glab co <id>Options:
| Flag | Description |
|---|---|
| Local branch name |
| Set up tracking for the remote branch |
Examples:
bash
undefinedbash
glab mr checkout <id> [options]快捷命令:
glab co <id>参数选项:
| 参数 | 说明 |
|---|---|
| 本地分支名称 |
| 设置与远程分支的跟踪关系 |
示例:
bash
undefinedCheckout MR branch
检出MR分支
glab mr checkout 123
glab mr checkout 123
Checkout with custom local branch name
检出MR并指定本地分支名称
glab mr checkout 123 -b my-local-branch
glab mr checkout 123 -b my-local-branch
Shortcut
使用快捷命令
glab co 123
undefinedglab co 123
undefinedApprove/Revoke Merge Request
批准/撤销合并请求批准
bash
undefinedbash
undefinedApprove MR
批准MR
glab mr approve <id>
glab mr approve <id>
Revoke approval
撤销批准
glab mr revoke <id>
glab mr revoke <id>
View approvers
查看批准人列表
glab mr approvers <id>
undefinedglab mr approvers <id>
undefinedMerge/Close/Reopen
合并/关闭/重新打开
bash
undefinedbash
undefinedMerge MR
合并MR
glab mr merge <id> [options]
glab mr merge <id> [options]
Close MR
关闭MR
glab mr close <id>
glab mr close <id>
Reopen closed MR
重新打开已关闭的MR
glab mr reopen <id>
**Merge Options:**
| Flag | Description |
|------|-------------|
| `-s, --squash` | Squash commits |
| `-d, --remove-source-branch` | Delete source branch after merge |
| `--when-pipeline-succeeds` | Merge when pipeline succeeds |
| `-m, --message=<msg>` | Custom merge commit message |
| `-y, --yes` | Skip confirmation |
**Examples:**
```bashglab mr reopen <id>
**合并参数选项:**
| 参数 | 说明 |
|------|-------------|
| `-s, --squash` | 压缩提交 |
| `-d, --remove-source-branch` | 合并后删除源分支 |
| `--when-pipeline-succeeds` | 流水线成功后自动合并 |
| `-m, --message=<msg>` | 自定义合并提交信息 |
| `-y, --yes` | 跳过确认提示 |
**示例:**
```bashMerge with squash
压缩提交后合并MR
glab mr merge 123 --squash
glab mr merge 123 --squash
Merge and delete source branch
合并MR并删除源分支
glab mr merge 123 --remove-source-branch
glab mr merge 123 --remove-source-branch
Auto-merge when pipeline succeeds
流水线成功后自动合并MR
glab mr merge 123 --when-pipeline-succeeds
undefinedglab mr merge 123 --when-pipeline-succeeds
undefinedUpdate Merge Request
更新合并请求
bash
glab mr update <id> [options]Options:
| Flag | Description |
|---|---|
| Update title |
| Update description |
| Update assignees |
| Update reviewers |
| Update labels |
| Remove labels |
| Mark as draft |
| Mark as ready (remove draft status) |
| Lock discussion |
| Unlock discussion |
Examples:
bash
undefinedbash
glab mr update <id> [options]参数选项:
| 参数 | 说明 |
|---|---|
| 更新标题 |
| 更新描述 |
| 更新经办人 |
| 更新评审人 |
| 更新标签 |
| 移除标签 |
| 标记为草稿 |
| 标记为就绪(移除草稿状态) |
| 锁定讨论 |
| 解锁讨论 |
示例:
bash
undefinedUpdate title
更新MR标题
glab mr update 123 -t "New title"
glab mr update 123 -t "New title"
Add reviewers
添加评审人
glab mr update 123 -r "user1,user2"
glab mr update 123 -r "user1,user2"
Mark as ready (remove draft)
标记为就绪(移除草稿状态)
glab mr update 123 --ready
glab mr update 123 --ready
Add and remove labels
添加并移除标签
glab mr update 123 -l "approved" --unlabel "needs-review"
undefinedglab mr update 123 -l "approved" --unlabel "needs-review"
undefinedAdd Note/Comment
添加备注/评论
bash
glab mr note <id> -m "<message>"Examples:
bash
undefinedbash
glab mr note <id> -m "<message>"示例:
bash
undefinedAdd comment
添加评论
glab mr note 123 -m "LGTM!"
glab mr note 123 -m "LGTM!"
Add closing note
添加关闭备注
glab mr note 123 -m "Closing because !456 supersedes this"
undefinedglab mr note 123 -m "Closing because !456 supersedes this"
undefinedRebase Merge Request
变基合并请求
bash
glab mr rebase <id>bash
glab mr rebase <id>View Diff
查看差异
bash
glab mr diff <id> [options]Options:
| Flag | Description |
|---|---|
| When to show color: always, never, auto |
bash
glab mr diff <id> [options]参数选项:
| 参数 | 说明 |
|---|---|
| 何时显示颜色:always(始终)、never(从不)、auto(自动) |
Subscribe/Unsubscribe
订阅/取消订阅
bash
undefinedbash
undefinedSubscribe to MR notifications
订阅MR通知
glab mr subscribe <id>
glab mr subscribe <id>
Unsubscribe
取消订阅
glab mr unsubscribe <id>
undefinedglab mr unsubscribe <id>
undefinedAdd to Todo
添加到待办事项
bash
glab mr todo <id>bash
glab mr todo <id>Common Workflows
常见工作流
Workflow 1: Review and Approve
工作流1:评审并批准
bash
undefinedbash
undefined1. List MRs assigned for review
1. 列出需要你评审的MR
glab mr list --reviewer=@me
glab mr list --reviewer=@me
2. View MR details
2. 查看MR详情
glab mr view 123
glab mr view 123
3. Checkout to test locally
3. 检出分支进行本地测试
glab mr checkout 123
glab mr checkout 123
4. Run tests, review code...
4. 运行测试、评审代码...
5. Approve if good
5. 若代码无误则批准MR
glab mr approve 123
glab mr approve 123
6. Add comment
6. 添加评论
glab mr note 123 -m "Reviewed and approved. Great work!"
undefinedglab mr note 123 -m "Reviewed and approved. Great work!"
undefinedWorkflow 2: Create Feature MR
工作流2:创建功能MR
bash
undefinedbash
undefined1. Create branch and make changes
1. 创建分支并进行修改
git checkout -b feature/my-feature
git checkout -b feature/my-feature
2. Commit changes
2. 提交修改
git add . && git commit -m "Add new feature"
git add . && git commit -m "Add new feature"
3. Push branch
3. 推送分支
git push -u origin feature/my-feature
git push -u origin feature/my-feature
4. Create MR
4. 创建草稿MR
glab mr create -t "Add new feature" -d "Description..." --draft
glab mr create -t "Add new feature" -d "Description..." --draft
5. Mark ready when done
5. 完成后标记为就绪
glab mr update <id> --ready
undefinedglab mr update <id> --ready
undefinedWorkflow 3: Quick Fix
工作流3:快速修复
bash
undefinedbash
undefinedCreate MR from current branch with commit info
从当前分支创建MR,自动填充提交信息并跳过确认
glab mr create --fill --yes
undefinedglab mr create --fill --yes
undefinedTroubleshooting
故障排除
| Issue | Cause | Solution |
|---|---|---|
| Authentication failed | Invalid/expired token | Run |
| MR not found | Invalid ID or no access | Verify ID with |
| Permission denied | Insufficient rights | Check project permissions |
| Cannot merge | Conflicts or pipeline failed | Resolve conflicts, wait for pipeline |
| Branch not found | Source branch deleted | Check if branch exists |
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 认证失败 | 令牌无效/已过期 | 执行 |
| MR未找到 | ID无效或无访问权限 | 使用 |
| 权限不足 | 权限不够 | 检查项目权限设置 |
| 无法合并 | 存在冲突或流水线失败 | 解决冲突,等待流水线执行完成 |
| 分支未找到 | 源分支已被删除 | 确认分支是否存在 |
Related Documentation
相关文档
- Safeguards
- Quick Reference
- 安全防护
- 快速参考