Push Options

Push Options

在 GitLab 11.7 中引入 .

GitLab 支持使用客户端在推送更改的同时执行各种操作. 此外, 推送规则提供服务器端控制和实施选项.

当前,有推送选项可用于:

注意: Git 推送选项仅在 Git 2.10 或更高版本中可用.

对于 2.18 及更高版本,可以使用以上格式,或更短的-o

    您可以使用推入选项跳过 CI / CD 管道或传递环境变量.

    使用ci.skip的示例:

    1. git push -o ci.skip

    An example of passing some environment variables for a pipeline:

    推送选项 Description 版本介绍
    merge_request.create 为推送的分支创建一个新的合并请求.
    merge_request.target=<branch_name> 将合并请求的目标设置为特定分支. 11.10
    设置合并请求以进行合并 .
    merge_request.remove_source_branch 设置合并请求以在合并时删除源分支. 12.2
    merge_request.title="<title>" 设置合并请求的标题. 例如: git push -o merge_request.title="The title I want" .
    merge_request.description="<description>" 设置合并请求的描述. 例如: git push -o merge_request.description="The description I want" . 12.2
    merge_request.label="<label>" 将标签添加到合并请求. 如果标签不存在,它将被创建. 例如,对于两个标签: git push -o merge_request.label="label1" -o merge_request.label="label2" .
    merge_request.unlabel="<label>" 从合并请求中删除标签. 例如,对于两个标签: . 12.3

    如果您使用要求文本带有空格的 push 选项,则需要用引号( " )括起来.如果没有空格,则可以省略引号.例如:

    1. git push -o merge_request.label="Label with spaces"
    2. git push -o merge_request.label=Label-with-no-spaces

    您可以通过使用多个-o (或--push-option )标志来组合推送选项以一次完成多个任务. 例如,如果您要创建一个新的合并请求,并定位一个名为my-target-branch

    1. git push -o merge_request.create -o merge_request.target=my-target-branch

    此外,如果希望合并请求在管道成功后立即合并,则可以执行以下操作:

    如上所示,Git 推送选项可能导致 Git 命令增长很长. 如果您经常使用相同的 push 选项,则创建很有用. Git 别名是 Git 的命令行快捷方式,可以大大简化长 Git 命令的使用.

    1. git config --global alias.mwps "push -o merge_request.create -o merge_request.target=master -o merge_request.merge_when_pipeline_succeeds"

    然后,为了在管道成功时快速推送将针对 master 并合并的本地分支: