注: Gitプッシュオプションは、Git 2.10以降でのみ使用できます。
Gitバージョン2.10から2.17の場合 --push-option
:
git push --push-option=<push_option>
バージョン2.18以降の場合、上記の形式またはより短い形式を使用できます -o
。
git push -o <push_option>
GitLab CI / CDのプッシュオプション
プッシュオプションを使用して、CI / CDパイプラインをスキップするか、環境変数を渡すことができます。
プッシュオプション | 説明 | バージョンで導入 |
---|---|---|
ci.skip |
最新のプッシュ用にCIパイプラインを作成しないでください。 | 11.7 |
ci.variable="<name>=<value>" |
プッシュのために作成された場合、CIパイプラインで使用される環境変数を提供し ます。 | 12.6 |
使用例 ci.skip
:
git push -o ci.skip
パイプラインにいくつかの環境変数を渡す例:
git push -o ci.variable="MAX_RETRIES=10" -o ci.variable="MAX_TIME=600"
マージリクエストのプッシュオプション
Gitプッシュオプションを使用して、変更をプッシュすると同時に、マージリクエストの特定のアクションを実行できます。
プッシュオプション | 説明 | バージョンで導入 |
---|---|---|
merge_request.create |
プッシュされたブランチの新しいマージ要求を作成します。 | 11.10 |
merge_request.target=<branch_name> |
マージ要求のターゲットを特定のブランチに設定します。 | 11.10 |
merge_request.merge_when_pipeline_succeeds |
パイプラインが成功したときにマージするようにマージ要求を設定し ます。 | 11.10 |
merge_request.remove_source_branch |
マージ要求を設定して、マージ時にソースブランチを削除します。 | 12.2 |
merge_request.title="<title>" |
マージ要求のタイトルを設定します。例: git push -o merge_request.title="The title I want" 。 |
12.2 |
merge_request.description="<description>" |
マージ要求の説明を設定します。例: git push -o merge_request.description="The description I want" 。 |
12.2 |
merge_request.label="<label>" |
マージ要求にラベルを追加します。ラベルが存在しない場合は作成されます。例えば、2つのラベルのために: git push -o merge_request.label="label1" -o merge_request.label="label2" 。 |
12.3 |
merge_request.unlabel="<label>" |
マージ要求からラベルを削除します。例えば、2つのラベルのために: git push -o merge_request.unlabel="label1" -o merge_request.unlabel="label2" 。 |
12.3 |
スペースを含むテキストが必要なプッシュオプションを使用する場合は、それを引用符("
)で囲む必要があります。スペースがない場合は、引用符を省略できます。いくつかの例:
git push -o merge_request.label="Label with spaces"
git push -o merge_request.label=Label-with-no-spaces
複数の-o
(または --push-option
)フラグを使用して、プッシュオプションを組み合わせて複数のタスクを一度に実行できます 。たとえば、新しいマージ要求を作成し、次の名前のブランチをターゲットにする場合 my-target-branch
:
git push -o merge_request.create -o merge_request.target=my-target-branch
さらに、パイプラインが成功したらすぐにマージ要求をマージしたい場合は、次のようにすることができます。
git push -o merge_request.create -o merge_request.target=my-target-branch -o merge_request.merge_when_pipeline_succeeds