Help us learn about your current experience with the documentation. Take the survey.

GitLab 快捷操作

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

快捷操作提供基于文本的快捷方式,用于执行 GitLab 中的常见操作。 快捷操作:

  • 无需使用用户界面即可执行常见操作。
  • 支持处理 issues、merge requests、epics 和 commits。
  • 在保存描述或评论时自动运行。
  • 响应特定上下文和条件。
  • 在单独行输入时支持处理多个命令。

例如,您可以使用快捷操作来:

  • 分配用户。
  • 添加标签。
  • 设置截止日期。
  • 更改状态。
  • 设置其他属性。

每个命令以正斜杠(/)开头,且必须单独输入一行。 许多快捷操作接受参数,您可以使用引号(")或特定格式输入参数。

参数

许多快捷操作需要参数。例如,/assign 快捷操作需要用户名。GitLab 在快捷操作中使用 自动补全字符,通过提供可用值列表帮助用户输入参数。

如果手动输入参数,必须用双引号(")括起来,除非参数仅包含以下字符:

  • ASCII 字母
  • 数字(0-9)
  • 下划线(_)、连字符(-)、问号(?)、点(.)、和号(&)或 at 符号(@

参数区分大小写。自动补全会自动处理大小写和引号插入。

Issues、合并请求和史诗

以下快捷操作适用于描述、讨论和线程。部分快捷操作可能并非所有订阅层级都可用。

Command Issue Merge request Epic Action
/add_child <item> check-circle Yes dotted-circle No check-circle Yes <item> 添加为子项。<item> 值应为 #itemgroup/project#item 或项目的 URL 格式。对于 issues,可添加任务和 OKR。Issues 的新外观 必须启用。对于 epics,可添加 issues、任务和 OKR。可同时添加多个工作项作为子项。
/add_contacts [contact:[email protected]] [contact:[email protected]] check-circle Yes dotted-circle No dotted-circle No 添加一个或多个活跃的 CRM 联系人
/add_email email1 email2 check-circle Yes dotted-circle No dotted-circle No 添加最多六个 邮件参与者。此操作需启用功能标志 issue_email_participants不支持在 issue 模板中使用
/approve dotted-circle No check-circle Yes dotted-circle No 批准合并请求。
/assign @user1 @user2 check-circle Yes check-circle Yes dotted-circle No 分配一个或多个用户。
/assign me check-circle Yes check-circle Yes dotted-circle No 分配给自己。
/assign_reviewer @user1 @user2 or /reviewer @user1 @user2 dotted-circle No check-circle Yes dotted-circle No 分配一个或多个用户作为审查者。
/assign_reviewer me or /reviewer me dotted-circle No check-circle Yes dotted-circle No 分配自己作为审查者。
/blocked_by <item1> <item2> check-circle Yes dotted-circle No check-circle Yes 将项目标记为被其他项目阻塞。<item> 值应为 #itemgroup/project#item 或完整 URL。(在 GitLab 16.0 中引入)。
/blocks <item1> <item2> check-circle Yes dotted-circle No check-circle Yes 将项目标记为阻塞其他项目。<item> 值应为 #itemgroup/project#item 或完整 URL。(在 GitLab 16.0 中引入)。
/board_move ~column check-circle Yes dotted-circle No dotted-circle No 将 issue 移动到看板上的列。项目必须只有一个 issue 看板。
/cc @user check-circle Yes check-circle Yes check-circle Yes 提及用户。此命令不执行任何操作。可改为输入 CC @user 或仅 @user
/clear_health_status check-circle Yes dotted-circle No check-circle Yes 清除 健康状态
/clear_weight check-circle Yes dotted-circle No dotted-circle No 清除权重。
/clone <path/to/group_or_project> [--with_notes] check-circle Yes dotted-circle No check-circle Yes 将工作项克隆到指定组或项目,若未提供参数则克隆到当前项目。尽可能复制数据,只要目标包含等效对象(如标签、里程碑或 epics)。除非提供 --with_notes 参数,否则不复制评论或系统备注。
/close check-circle Yes check-circle Yes check-circle Yes 关闭。
/confidential check-circle Yes dotted-circle No check-circle Yes 将 issue 或 epic 标记为机密。
/convert_to_ticket <email address> check-circle Yes dotted-circle No dotted-circle No 将 issue 转换为 Service Desk 工单。(在 GitLab 16.9 中引入)
/copy_metadata <!merge_request> check-circle Yes check-circle Yes dotted-circle No 从项目中的另一个合并请求复制标签和里程碑。
/copy_metadata <#item> check-circle Yes check-circle Yes check-circle Yes 从项目中的另一个项目复制标签和里程碑。
/create_merge_request <branch name> check-circle Yes dotted-circle No dotted-circle No 创建从当前 issue 开始的新合并请求。
/done check-circle Yes check-circle Yes check-circle Yes 将待办事项标记为完成。
/draft dotted-circle No check-circle Yes dotted-circle No 设置 草稿状态
/due <date> check-circle Yes dotted-circle No check-circle Yes 设置截止日期。有效 <date> 示例包括 in 2 daysthis FridayDecember 31st。更多示例请参见 Chronic
/duplicate <item> check-circle Yes dotted-circle No check-circle Yes 关闭此项目并标记为与 <item> 相关且为其副本。
/epic <epic> or /set_parent <epic> check-circle Yes dotted-circle No check-circle Yes 将项目添加到 epic <epic> 作为子项。<epic> 值应为 &epic#epicgroup&epicgroup#epic 或 epic 的 URL。
/estimate <time> or /estimate_time <time> check-circle Yes check-circle Yes check-circle Yes 设置时间估算。例如 /estimate 1mo 2w 3d 4h 5m。更多信息请参见 时间跟踪
/health_status <value> check-circle Yes dotted-circle No check-circle Yes 设置 健康状态<value> 的有效选项为 on_trackneeds_attentionat_risk
/iteration *iteration:<iteration ID> or <iteration name> check-circle Yes dotted-circle No dotted-circle No 设置迭代。例如,设置 Late in July 迭代:/iteration *iteration:"Late in July"
/iteration [cadence:<iteration cadence ID> or <iteration cadence name>] <--current or --next> check-circle Yes dotted-circle No dotted-circle No 将迭代设置为引用迭代周期的当前或下一个迭代。例如,/iteration [cadence:"Team cadence"] --current 将迭代设置为名为 “Team cadence” 的迭代周期的当前迭代。(在 GitLab 16.9 中引入)。
/iteration <--current or --next> check-circle Yes dotted-circle No dotted-circle No 当组有一个迭代周期时,将迭代设置为当前或下一个迭代。例如,/iteration --current 将迭代设置为迭代周期的当前迭代。(在 GitLab 16.9 中引入)。
/label ~label1 ~label2 or /labels ~label1 ~label2 check-circle Yes check-circle Yes check-circle Yes 添加一个或多个标签。标签名也可以不以波浪号(~)开头,但不支持混合语法。
/link check-circle Yes dotted-circle No dotted-circle No 向事件中的 关联资源 添加链接和描述。
/lock check-circle Yes check-circle Yes check-circle Yes 锁定讨论。
/merge dotted-circle No check-circle Yes dotted-circle No 合并更改。根据项目设置,这可能是 在流水线成功时,或添加到 合并流水线
/milestone %milestone check-circle Yes check-circle Yes dotted-circle No 设置里程碑。
/move <path/to/group_or_project> check-circle Yes dotted-circle No check-circle Yes 将工作项移动到其他组或项目。移动到具有不同访问规则的位置时请谨慎。移动工作项前,确保其不包含敏感数据。
/page <policy name> check-circle Yes dotted-circle No dotted-circle No 启动事件的升级流程。
/promote_to_incident check-circle Yes dotted-circle No dotted-circle No 将 issue 提升为事件。创建新 issue 时也可使用此快捷操作。
/promote check-circle Yes dotted-circle No dotted-circle No 将 issue 提升为 epic。如果启用了 Issues 的新外观,请使用 /promote_to epic
/publish check-circle Yes dotted-circle No dotted-circle No 将 issue 发布到关联的 状态页面
/react :emoji: check-circle Yes check-circle Yes check-circle Yes 切换表情符号反应。(在 GitLab 16.7 中重命名/award/award 仍作为别名命令可用。
/ready dotted-circle No check-circle Yes dotted-circle No 设置 就绪状态
/reassign @user1 @user2 check-circle Yes check-circle Yes dotted-circle No 将当前分配者替换为指定的用户。
/reassign_reviewer @user1 @user2 dotted-circle No check-circle Yes dotted-circle No 将当前审查者替换为指定的用户。
/rebase dotted-circle No check-circle Yes dotted-circle No 将源分支变基到目标分支的最新提交。帮助信息请参见 故障排除指南
/relabel ~label1 ~label2 check-circle Yes check-circle Yes check-circle Yes 将当前标签替换为指定的标签。
/relate <item1> <item2> check-circle Yes dotted-circle No check-circle Yes 将项目标记为相关。<item> 值应为 #itemgroup/project#item 或完整 URL。
/remove_child <item> check-circle Yes dotted-circle No check-circle Yes 移除 <item> 作为子项。<item> 值应为 #itemgroup/project#item 或项目的 URL。对于 issues,Issues 的新外观 必须启用。
/remove_contacts [contact:[email protected]] [contact:[email protected]] check-circle Yes dotted-circle No dotted-circle No 移除一个或多个 CRM 联系人
/remove_due_date check-circle Yes dotted-circle No dotted-circle No 移除截止日期。
/remove_email email1 email2 check-circle Yes dotted-circle No dotted-circle No 移除最多六个 邮件参与者。此操作需启用功能标志 issue_email_participants。不支持在 issue 模板、合并请求或 epics 中使用。
/remove_estimate or /remove_time_estimate check-circle Yes check-circle Yes check-circle Yes 移除时间估算。
/remove_iteration check-circle Yes dotted-circle No dotted-circle No 移除迭代。
/remove_milestone check-circle Yes check-circle Yes dotted-circle No 移除里程碑。
/remove_parent check-circle Yes dotted-circle No check-circle Yes 从项目中移除父项。对于 issues,Issues 的新外观 必须启用。
/remove_time_spent check-circle Yes check-circle Yes check-circle Yes 移除已花费时间。
/remove_zoom check-circle Yes dotted-circle No dotted-circle No 从此 issue 中移除 Zoom 会议。
/reopen check-circle Yes check-circle Yes check-circle Yes 重新打开。
/request_review @user1 @user2 dotted-circle No check-circle Yes dotted-circle No 分配或请求一个或多个用户进行新的审查。
/request_review me dotted-circle No check-circle Yes dotted-circle No 分配或请求自己进行新的审查。
/set_parent <item> check-circle Yes dotted-circle No check-circle Yes 设置父项。<item> 值应为 #IID、引用或项目的 URL。对于 issues,Issues 的新外观 必须启用。
/severity <severity> check-circle Yes dotted-circle No dotted-circle No 设置严重性。Issue 类型必须为 Incident<severity> 的选项为 S1S4criticalhighmediumlowunknown
/shrug check-circle Yes check-circle Yes check-circle Yes 添加 ¯\_(ツ)_/¯
/spend <time> [<date>] or /spend_time <time> [<date>] check-circle Yes check-circle Yes check-circle Yes 添加或减少已花费时间。可选地,指定花费时间的日期。例如 /spend 1mo 2w 3d 4h 5m 2018-08-26/spend -1h 30m。更多信息请参见 时间跟踪
/status <value> check-circle Yes dotted-circle No dotted-circle No 设置 状态<value> 的有效选项包括为命名空间设置的状态选项。(在 GitLab 18.2 中引入,功能标志名为 work_item_status_feature_flag)。
/submit_review dotted-circle No check-circle Yes dotted-circle No 提交待审查的审查。
/subscribe check-circle Yes check-circle Yes check-circle Yes 订阅通知。
/tableflip check-circle Yes check-circle Yes check-circle Yes 添加 (╯°□°)╯︵ ┻━┻
/target_branch <local branch name> dotted-circle No check-circle Yes dotted-circle No 设置目标分支。
/timeline <timeline comment> | <date(YYYY-MM-DD)> <time(HH:MM)> check-circle Yes dotted-circle No dotted-circle No 向此事件添加时间线事件。例如 /timeline DB load spiked | 2022-09-07 09:30
/title <new title> check-circle Yes check-circle Yes check-circle Yes 更改标题。
/todo check-circle Yes check-circle Yes check-circle Yes 添加待办事项。
/unapprove dotted-circle No check-circle Yes dotted-circle No 取消批准合并请求。
/unassign @user1 @user2 check-circle Yes check-circle Yes dotted-circle No 移除特定分配者。
/unassign_reviewer @user1 @user2 or /remove_reviewer @user1 @user2 dotted-circle No check-circle Yes dotted-circle No 移除特定审查者。
/unassign_reviewer me dotted-circle No check-circle Yes dotted-circle No 移除自己作为审查者。
/unassign_reviewer or /remove_reviewer dotted-circle No check-circle Yes dotted-circle No 移除所有审查者。
/unassign dotted-circle No check-circle Yes dotted-circle No 移除所有分配者。
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2 check-circle Yes check-circle Yes check-circle Yes 移除指定标签。
/unlabel or /remove_label check-circle Yes check-circle Yes check-circle Yes 移除所有标签。
/unlink <item> check-circle Yes dotted-circle No check-circle Yes 移除与提供的 issue 的链接。<item> 值应为 #itemgroup/project#item 或完整 URL。(在 GitLab 16.1 中引入)。
/unlock check-circle Yes check-circle Yes check-circle Yes 解锁讨论。
/unsubscribe check-circle Yes check-circle Yes check-circle Yes 取消订阅通知。
/weight <value> check-circle Yes dotted-circle No dotted-circle No 设置权重。有效值为整数如 012
/zoom <Zoom URL> check-circle Yes dotted-circle No dotted-circle No 为此 issue 或事件添加 Zoom 会议。GitLab Premium 用户可在 向事件添加 Zoom 链接 时添加简短描述。

工作项

GitLab 中的工作项包括:

以下快捷操作可在编辑或评论工作项时通过描述字段应用。

Command Task Objective Key Result Action
/assign @user1 @user2 check-circle Yes check-circle Yes check-circle Yes 分配一个或多个用户。
/assign me check-circle Yes check-circle Yes check-circle Yes 分配给自己。
/add_child <work_item> dotted-circle No check-circle Yes dotted-circle No 添加到 <work_item> 的子项。<work_item> 值应为 #itemgroup/project#item 或工作项的 URL。可同时添加多个工作项作为子项。(在 GitLab 16.5 中引入)。
/award :emoji: check-circle Yes check-circle Yes check-circle Yes 切换表情符号反应。(在 GitLab 16.5 中引入)
/checkin_reminder <cadence> dotted-circle No check-circle Yes dotted-circle No 安排 检查提醒。选项为 weeklytwice-monthlymonthlynever(默认)。(在 GitLab 16.4 中引入,功能标志名为 okrs_mvcokr_checkin_reminders)。
/clear_health_status check-circle Yes check-circle Yes check-circle Yes 清除 健康状态
/clear_weight check-circle Yes dotted-circle No dotted-circle No 清除权重。
/close check-circle Yes check-circle Yes check-circle Yes 关闭。
/confidential check-circle Yes check-circle Yes check-circle Yes 将工作项标记为机密。在 GitLab 16.4 中引入
/copy_metadata <work_item> check-circle Yes check-circle Yes check-circle Yes 从同一命名空间中的另一个工作项复制标签和里程碑。<work_item> 值应为 #item 或工作项的 URL。(在 GitLab 17.9 中引入)。
/done check-circle Yes check-circle Yes check-circle Yes 将待办事项标记为完成。在 GitLab 16.2 中引入
/due <date> check-circle Yes dotted-circle No check-circle Yes 设置截止日期。有效 <date> 示例包括 in 2 daysthis FridayDecember 31st
/health_status <value> check-circle Yes check-circle Yes check-circle Yes 设置 健康状态<value> 的有效选项为 on_trackneeds_attentionat_risk
/label ~label1 ~label2 or /labels ~label1 ~label2 check-circle Yes check-circle Yes check-circle Yes 添加一个或多个标签。标签名也可以不以波浪号(~)开头,但不支持混合语法。
/promote_to <type> check-circle Yes dotted-circle No check-circle Yes 将工作项提升为指定类型。<type> 的可用选项:issue(提升任务)或 objective(提升关键结果)。(在 GitLab 16.1 中引入)。
/reassign @user1 @user2 check-circle Yes check-circle Yes check-circle Yes 将当前分配者替换为指定的用户。
/relabel ~label1 ~label2 check-circle Yes check-circle Yes check-circle Yes 将当前标签替换为指定的标签。
/remove_due_date check-circle Yes dotted-circle No check-circle Yes 移除截止日期。
/remove_child <work_item> dotted-circle No check-circle Yes dotted-circle No 移除子项 <work_item><work_item> 值应为 #itemgroup/project#item 或工作项的 URL。(在 GitLab 16.10 中引入)。
/remove_parent check-circle Yes dotted-circle No check-circle Yes 移除父工作项。在 GitLab 16.9 中引入)。
/reopen check-circle Yes check-circle Yes check-circle Yes 重新打开。
/set_parent <work_item> check-circle Yes dotted-circle No check-circle Yes 将父工作项设置为 <work_item><work_item> 值应为 #itemgroup/project#item 或工作项的 URL。(在 GitLab 16.5 中引入)。启用 Issues 新外观 后,/epic 作为别名 在 GitLab 17.10 中引入)。
/shrug check-circle Yes check-circle Yes check-circle Yes 添加 ¯\_(ツ)_/¯
/status <value> check-circle Yes dotted-circle No dotted-circle No 设置 状态<value> 的有效选项包括为命名空间设置的状态选项。(在 GitLab 18.2 中引入,功能标志名为 work_item_status_feature_flag)。
/subscribe check-circle Yes check-circle Yes check-circle Yes 订阅通知。在 GitLab 16.4 中引入)
/tableflip check-circle Yes check-circle Yes check-circle Yes 添加 (╯°□°)╯︵ ┻━┻
/title <new title> check-circle Yes check-circle Yes check-circle Yes 更改标题。
/todo check-circle Yes check-circle Yes check-circle Yes 添加待办事项。在 GitLab 16.2 中引入)。
/type check-circle Yes check-circle Yes check-circle Yes 将工作项转换为指定类型。<type> 的可用选项包括 issuetaskobjectivekey result在 GitLab 16.0 中引入)。
/unassign @user1 @user2 check-circle Yes check-circle Yes check-circle Yes 移除特定分配者。
/unassign dotted-circle No check-circle Yes check-circle Yes 移除所有分配者。
/unlabel ~label1 ~label2 or /remove_label ~label1 ~label2 check-circle Yes check-circle Yes check-circle Yes 移除指定标签。
/unlabel or /remove_label check-circle Yes check-circle Yes check-circle Yes 移除所有标签。
/unlink check-circle Yes check-circle Yes check-circle Yes 移除与提供的工作项的链接。<work item> 值应为 #work_itemgroup/project#work_item 或完整工作项 URL。在 GitLab 17.8 中引入)。
/unsubscribe check-circle Yes check-circle Yes check-circle Yes 取消订阅通知。在 GitLab 16.4 中引入)
/weight <value> check-circle Yes dotted-circle No dotted-circle No 设置权重。<value> 的有效选项包括 012

提交评论

您可以在评论单个 commit 时使用快捷操作。这些快捷操作仅在提交评论线程中有效,不适用于提交消息或其他 GitLab 上下文。

要在提交评论中使用快捷操作:

  1. 通过从提交列表、合并请求或其他提交链接中选择 commit,进入 commit 页面。
  2. 在 commit 页面底部的评论框中输入您的快捷操作。
  3. 选择 Comment

以下快捷操作适用于提交评论:

Command Action
/tag v1.2.3 <message> 创建指向被评论 commit 的 Git 标签,并附带可选消息。

以下是 Git 标签示例:

安全修复后准备发布。
/tag v2.1.1 安全修复补丁发布

此评论创建了一个名为 `v2.1.1` 的 Git 标签,指向 commit,消息为 "安全修复补丁发布"。

## 故障排除

### 快捷操作未执行

如果运行快捷操作但未生效,请检查输入时快捷操作是否出现在自动补全框中。
如果未出现,可能原因包括:

- 与快捷操作相关的功能根据您的订阅层级或组/项目的用户角色不可用。
- 快捷操作的必要条件未满足。
  例如,您在没有标签的 issue 上运行 `/unlabel`。