</svg></a></div></div></div><div class=“row d-xl-none”><div class=col><div class=“doc-nav toc-mobile”></div></div><主要><div class=row><div class=col><div class=“article-content js-article-centent”role=main itemscope itemprop=main ContentOfPage><ul id=markdown-toc><li>gitlab CI/CD的推送选项</a><li>合并请求的推送选项</a><li>秘密推送保护的推送选项</a><li>推送选项的格式</a><li><a href=#为通用命令创建git别名id=markdown toc为通用命令创建git别名>为通用命令创建git别名</a><li>相关主题</a></ul>推送选项</a></h1><div class=“mt-3 admonition-wrapper details”><div class=“admonition admonition-non-dismissable alert alert-details”><div><div role=alert><dif class=alert-body><strong>级别:免费、高级、终极产品:GitLab.com,自我管理,GitLab专用<p>将更改推送到分支时,可以使用客户端<a href=https://git-scm.com/docs/git-push#文档/git-push.txt--oltoptiongt>Git推送选项</a>。在Git 2.10及更高版本中,使用Git推送选项可以:<ul><li>跳过CI作业</a><li>推送合并请求</a></ul><p>在Git 2.18及更高版本中,您可以使用长格式(<code class=highlighter-rouge>--push-option</code>)或更短的格式(<code class=Highlighterrouge>-o</code>:<div class=“language-shell highlighter-rouge”>git推送</code></pre></div><p>在Git 2.10到2.17中,必须使用长格式:<div class=“language-shell highlighter-rouge”><div class=highlight<pre-class=highight><code>git-push<span class=nt>--推送选项</code></pre></div><p>有关服务器端控制和最佳实践的实施,请参阅推送规则和/administration/server_hooks.html>服务器挂钩</a>。gitlab CI/CD的推送选项</a></h2><p>您可以使用推送选项跳过CI/CD管道,或传递CI/CD变量。<div class=“mt-3 admonition-wrapper note”><svg role=“img”aria-label=“note”class=“gl-icon ml-1 mr-1 s16 alert-icon”><use href=“/assets/images/icons.svg#information-o”/>note
Push选项描述例子
ci.skip公司 不要为最新推送创建CI/CD管道。仅跳过分支管道,而不跳过合并请求管道。这不会跳过CI/CD集成的管道,如Jenkins。git推送-o ci.skip
ci.variable=“<name>=<value>” 提供CI/CD变量到CI/CD管道(如果由于推送而创建)。只将变量传递给分支管道,而不传递合并请求管道.git push-o ci.variable=“MAX_RETRIES=10”-o ci.mariable=“MAX_TIME=600”
集成.skip_ci 跳过CI/CD集成的推送活动,例如Atlassian Bamboo、Buildkite、Drone、Jenkins和JetBrains TeamCity。引入时间:GitLab 16.2实验室.git推送-o集成.skipci

合并请求的推送选项

Git推送选项可以在推送更改时对合并请求执行操作:
Push选项描述
合并请求创建 为推送的分支创建新的合并请求。
merge_request.target=<分行名称> 将合并请求的目标设置为特定分支,例如:git推送-o merge_request.target=分行名称.
merge_request.target_project=<项目> 将合并请求的目标设置为特定的上游项目,例如:git推送-o merge_request.target_project=路径/to/project。引入于GitLab 16.6实验室.
合并请求合并管道成功时 将合并请求设置为管道成功时合并.
合并请求移动资源分支 设置合并请求以在合并源分支时删除它。
merge_request.title=“<title>” 设置合并请求的标题。例如:git push-o merge_request.title=“我想要的标题”.
merge_request.description=“<description>” 设置合并请求的描述。例如:git push-o merge_request.description=“我想要的描述”.
合并请求草稿 将合并请求标记为草稿。例如:git推送-o合并请求草稿。引入于GitLab 15.0实验室.
merge_request.mestone=“<里程碑>” 设置合并请求的里程碑。例如:git推送-o merge_request.mestone=“3.0”.
merge_request.label=“<label>” 向合并请求添加标签。如果标签不存在,则创建标签。例如,对于两个标签:git推送-o merge_request.label=“label1”-o merger_request。label=“标签2”.
merge_request.unlabel=“<label>” 从合并请求中删除标签。例如,对于两个标签:git push-o merge_request.unlabel=“label1”-o merge_request.unlabel=“label2”.
merge_request.assign=“<用户>” 将用户分配给合并请求。接受用户名或用户ID。例如,对于两个用户:git推送-o merge_request.assign=“user1”-o merger_request.assign=“user2”。支持中添加的用户名GitLab 15.5实验室.
merge_request.unassign=“<用户>” 从合并请求中删除分配的用户。接受用户名或用户ID。例如,对于两个用户:git推送-o merge_request.unassign=“user1”-o merger_request.unassgn=“user2”。支持中添加的用户名GitLab 15.5实验室.

秘密推送保护的推送选项

您可以使用推送选项跳过秘密推送保护.
Push选项描述例子
分泌_检测.skip_all 不要对此推送中的任何提交执行秘密推送保护。git推送-o secret_detection.skip_all

推送选项的格式

如果推送选项需要包含空格的文本,请将文本括在双引号("). 如果没有空格,可以省略引号。一些示例:

git推送-o(o)合并请求标签=“带空格的标签”git推送-o(o)合并请求标签=标签-无空格

要组合推送选项以同时完成多个任务,请使用倍数-o(o)(或--推送选项)标志。此命令创建一个新合并请求,以分支为目标(我的目标分支),并设置自动充值:

git推送-o(o)合并请求创建-o(o)合并请求目标=我的目标分支-o(o)合并请求merge_when_pipeline_succeeds

为常用命令创建Git别名

向Git命令添加推送选项可以创建很长的命令。如果您经常使用相同的推送选项,为它们创建Git别名。Git别名是较长Git命令的命令行快捷方式。

要为管道成功时合并Git推送选项以下为:

  1. 在终端窗口中,运行以下命令:

    git配置--全球别名.mwps“push-o merge_request.create-o merger_request.target=main-o merge _requestin.merge_when_pipeline_succeeds”
    
  2. 使用别名推送以默认分支为目标的本地分支(主要的)和auto-merges,运行以下命令:

    git mwps来源<本地分支名称>