web-dev-qa-db-ja.com

Gitlabでマージのデフォルトのターゲットブランチを変更する方法

多くのグループとプロジェクトでGitlab 8.10.1を使用しています。多くのプロジェクトは、たまたま他のプロジェクトの分岐です。私たちの問題は、誰かがプロジェクトのマージリクエストを開くたびに、デフォルトのターゲットブランチがプロジェクトのデフォルトブランチではなく、特定のプロジェクトからのものであるということです。この設定を何らかの方法でオーバーライドする方法はありますか?明確にするために、プロジェクトのデフォルトのブランチを設定する方法を知っており、それらの設定は正しいように見えますが、gitlabはマージ要求を作成するときにそれらを使用していないようです。この問題は非常に迷惑であり、人々が注意を払わず、ターゲットとして完全に異なる「マスター」でマージ要求を行うという奇妙な状況につながりました。

26
Tobias Mantsch

この動作のソースが見つかりました。これは、1つのプロジェクトが別のプロジェクトからgitlabで分岐されたため、プロジェクト間の関係が原因です。ソースとフォークの間の関係を削除する場合、マージのデフォルトブランチはプロジェクト自体のデフォルトブランチです。現在、これはこの状況に対する解決策です。ソース<-> fork関係の削除の影響に耐えることができるからです。

5
Tobias Mantsch

デフォルトのMRターゲットは、リポジトリが GitLab fork であるかどうかによって異なります。

フォーク

リポジトリが GitLab fork の場合、デフォルトのMRターゲットはアップストリームリポジトリのデフォルトのブランチになります。この関係は、[プロジェクト設定]ページの[フォーク関係の削除]オプションを使用して削除できます。その後、デフォルトのMRターゲットは、非フォークリポジトリの場合に通常どおり決定されます(以下を参照)。

執筆時点では、フォーク関係を削除せずにデフォルトのMRターゲットをオーバーライドすることはできませんが、その機能はgitlab-ce issue #1855 で要求されています。

ノンフォーク

リポジトリにフォーク関係がない場合、[プロジェクト設定]ページの[デフォルトブランチ]設定は、(1)デフォルトのMRターゲットと(2)GitLabのレポジトリのHEAD参照)の両方を設定しますサーバー(リポジトリのクローン作成時にチェックアウトされるブランチを決定します) gitのバグ/癖 により、 問題が発生する可能性があります デフォルトブランチが後でGitLabから削除されると。

執筆時点では、デフォルトのブランチとは無関係にデフォルトのMRターゲットを変更することはできませんが、この機能はgitlab-ceの問題で要求されています #31546 / #13949 =。

26
David P

マスターが必要です。その後、プロジェクト設定---デフォルトブランチ---変更を保存

楽しい!

9
sicheng zuo

バージョン11.5.3から、設定が少し変更されました。 docs.gitlab.com から:

新しいプロジェクトを作成すると、GitLabはmasterをプロジェクトのデフォルトブランチとして設定します。プロジェクトの[設定]> [リポジトリ]で、プロジェクトのデフォルトとなる別のブランチを選択できます。

2
Noah Martin