gitlab-mr

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Merge Request Skill

Merge Request 操作技能

Merge request operations for GitLab using the
glab
CLI.
使用
glab
CLI工具执行GitLab合并请求操作。

Quick Reference

快速参考

OperationCommandRisk
List MRs
glab mr list
-
View MR
glab mr view <id>
-
Create MR
glab mr create
⚠️
Checkout MR
glab mr checkout <id>
-
Approve MR
glab mr approve <id>
⚠️
Merge MR
glab mr merge <id>
⚠️⚠️
Update MR
glab mr update <id>
⚠️
Close MR
glab mr close <id>
⚠️
Reopen MR
glab mr reopen <id>
⚠️
Delete MR
glab mr delete <id>
⚠️⚠️
Rebase MR
glab mr rebase <id>
⚠️
Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger
操作命令风险等级
列出合并请求
glab mr list
-
查看MR详情
glab mr view <id>
-
创建MR
glab mr create
⚠️
检出MR分支
glab mr checkout <id>
-
批准MR
glab mr approve <id>
⚠️
合并MR
glab mr merge <id>
⚠️⚠️
更新MR
glab mr update <id>
⚠️
关闭MR
glab mr close <id>
⚠️
重新打开MR
glab mr reopen <id>
⚠️
删除MR
glab mr delete <id>
⚠️⚠️
变基MR
glab mr rebase <id>
⚠️
风险等级说明:- 安全 | ⚠️ 注意 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危险

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:
FlagDescription
--assignee=@me
Filter by assignee (use @me for yourself)
--reviewer=@me
Filter by reviewer
--author=<username>
Filter by author
--label=<labels>
Filter by comma-separated labels
--state=<state>
Filter by state: opened, closed, merged, all
--source-branch=<branch>
Filter by source branch
--target-branch=<branch>
Filter by target branch
-P, --per-page=<n>
Number of items per page
Examples:
bash
undefined
bash
glab mr list [options]
参数选项:
参数说明
--assignee=@me
按经办人筛选(@me代表当前用户)
--reviewer=@me
按评审人筛选
--author=<username>
按作者筛选
--label=<labels>
按逗号分隔的标签筛选
--state=<state>
按状态筛选:opened(打开)、closed(关闭)、merged(已合并)、all(全部)
--source-branch=<branch>
按源分支筛选
--target-branch=<branch>
按目标分支筛选
-P, --per-page=<n>
每页显示的条目数量
示例:
bash
undefined

List 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
undefined
glab mr list --target-branch=main
undefined

View Merge Request Details

查看合并请求详情

bash
glab mr view <id> [options]
Options:
FlagDescription
-w, --web
Open MR in browser
-c, --comments
Show MR comments and notes
-s, --system-logs
Show system activities/logs
Examples:
bash
undefined
bash
glab mr view <id> [options]
参数选项:
参数说明
-w, --web
在浏览器中打开MR
-c, --comments
显示MR的评论和备注
-s, --system-logs
显示系统活动/日志
示例:
bash
undefined

View 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
undefined
glab mr view 123 --comments
undefined

Create Merge Request

创建合并请求

bash
glab mr create [options]
Options:
FlagDescription
-t, --title=<title>
MR title
-d, --description=<desc>
MR description
-b, --target-branch=<branch>
Target branch (default: default branch)
-f, --fill
Use commit messages for title/description
--draft
Create as draft MR
-a, --assignee=<users>
Comma-separated assignees
-r, --reviewer=<users>
Comma-separated reviewers
-l, --label=<labels>
Comma-separated labels
-m, --milestone=<milestone>
Milestone title
--squash-on-merge
Squash commits on merge
--remove-source-branch
Remove source branch on merge
-w, --web
Open created MR in browser
-y, --yes
Skip confirmation prompts
Examples:
bash
undefined
bash
glab mr create [options]
参数选项:
参数说明
-t, --title=<title>
MR标题
-d, --description=<desc>
MR描述
-b, --target-branch=<branch>
目标分支(默认:项目默认分支)
-f, --fill
使用提交信息自动填充标题/描述
--draft
创建草稿MR
-a, --assignee=<users>
逗号分隔的经办人列表
-r, --reviewer=<users>
逗号分隔的评审人列表
-l, --label=<labels>
逗号分隔的标签列表
-m, --milestone=<milestone>
关联的里程碑标题
--squash-on-merge
合并时压缩提交
--remove-source-branch
合并后删除源分支
-w, --web
在浏览器中打开已创建的MR
-y, --yes
跳过确认提示
示例:
bash
undefined

Create 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
undefined
glab mr create -t "Feature" --web
undefined

Checkout Merge Request Branch

检出合并请求分支

bash
glab mr checkout <id> [options]
Shortcut:
glab co <id>
Options:
FlagDescription
-b, --branch=<name>
Local branch name
-t, --track
Set up tracking for the remote branch
Examples:
bash
undefined
bash
glab mr checkout <id> [options]
快捷命令:
glab co <id>
参数选项:
参数说明
-b, --branch=<name>
本地分支名称
-t, --track
设置与远程分支的跟踪关系
示例:
bash
undefined

Checkout 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
undefined
glab co 123
undefined

Approve/Revoke Merge Request

批准/撤销合并请求批准

bash
undefined
bash
undefined

Approve 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>
undefined
glab mr approvers <id>
undefined

Merge/Close/Reopen

合并/关闭/重新打开

bash
undefined
bash
undefined

Merge 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:**
```bash
glab mr reopen <id>

**合并参数选项:**
| 参数 | 说明 |
|------|-------------|
| `-s, --squash` | 压缩提交 |
| `-d, --remove-source-branch` | 合并后删除源分支 |
| `--when-pipeline-succeeds` | 流水线成功后自动合并 |
| `-m, --message=<msg>` | 自定义合并提交信息 |
| `-y, --yes` | 跳过确认提示 |

**示例:**
```bash

Merge 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
undefined
glab mr merge 123 --when-pipeline-succeeds
undefined

Update Merge Request

更新合并请求

bash
glab mr update <id> [options]
Options:
FlagDescription
-t, --title=<title>
Update title
-d, --description=<desc>
Update description
-a, --assignee=<users>
Update assignees
-r, --reviewer=<users>
Update reviewers
-l, --label=<labels>
Update labels
--unlabel=<labels>
Remove labels
--draft
Mark as draft
--ready
Mark as ready (remove draft status)
--lock-discussion
Lock discussion
--unlock-discussion
Unlock discussion
Examples:
bash
undefined
bash
glab mr update <id> [options]
参数选项:
参数说明
-t, --title=<title>
更新标题
-d, --description=<desc>
更新描述
-a, --assignee=<users>
更新经办人
-r, --reviewer=<users>
更新评审人
-l, --label=<labels>
更新标签
--unlabel=<labels>
移除标签
--draft
标记为草稿
--ready
标记为就绪(移除草稿状态)
--lock-discussion
锁定讨论
--unlock-discussion
解锁讨论
示例:
bash
undefined

Update 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"
undefined
glab mr update 123 -l "approved" --unlabel "needs-review"
undefined

Add Note/Comment

添加备注/评论

bash
glab mr note <id> -m "<message>"
Examples:
bash
undefined
bash
glab mr note <id> -m "<message>"
示例:
bash
undefined

Add 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"
undefined
glab mr note 123 -m "Closing because !456 supersedes this"
undefined

Rebase Merge Request

变基合并请求

bash
glab mr rebase <id>
bash
glab mr rebase <id>

View Diff

查看差异

bash
glab mr diff <id> [options]
Options:
FlagDescription
--color=<when>
When to show color: always, never, auto
bash
glab mr diff <id> [options]
参数选项:
参数说明
--color=<when>
何时显示颜色:always(始终)、never(从不)、auto(自动)

Subscribe/Unsubscribe

订阅/取消订阅

bash
undefined
bash
undefined

Subscribe to MR notifications

订阅MR通知

glab mr subscribe <id>
glab mr subscribe <id>

Unsubscribe

取消订阅

glab mr unsubscribe <id>
undefined
glab mr unsubscribe <id>
undefined

Add to Todo

添加到待办事项

bash
glab mr todo <id>
bash
glab mr todo <id>

Common Workflows

常见工作流

Workflow 1: Review and Approve

工作流1:评审并批准

bash
undefined
bash
undefined

1. 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!"
undefined
glab mr note 123 -m "Reviewed and approved. Great work!"
undefined

Workflow 2: Create Feature MR

工作流2:创建功能MR

bash
undefined
bash
undefined

1. 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
undefined
glab mr update <id> --ready
undefined

Workflow 3: Quick Fix

工作流3:快速修复

bash
undefined
bash
undefined

Create MR from current branch with commit info

从当前分支创建MR,自动填充提交信息并跳过确认

glab mr create --fill --yes
undefined
glab mr create --fill --yes
undefined

Troubleshooting

故障排除

IssueCauseSolution
Authentication failedInvalid/expired tokenRun
glab auth login
MR not foundInvalid ID or no accessVerify ID with
glab mr list
Permission deniedInsufficient rightsCheck project permissions
Cannot mergeConflicts or pipeline failedResolve conflicts, wait for pipeline
Branch not foundSource branch deletedCheck if branch exists
问题原因解决方案
认证失败令牌无效/已过期执行
glab auth login
重新登录
MR未找到ID无效或无访问权限使用
glab mr list
验证ID正确性
权限不足权限不够检查项目权限设置
无法合并存在冲突或流水线失败解决冲突,等待流水线执行完成
分支未找到源分支已被删除确认分支是否存在

Related Documentation

相关文档

  • Safeguards
  • Quick Reference
  • 安全防护
  • 快速参考