プルリクエストをマージする
コードがレビューされ、すべての必須のレビュアーが承認したら、サポートされるマージ戦略 (早送りなど) を使用して CodeCatalyst コンソールでプルリクエストをマージできます。CodeCatalyst コンソールでサポートされるすべてのマージ戦略を、すべてのプルリクエストの選択肢として利用できるわけではありません。CodeCatalyst はマージを評価し、ソースブランチをターゲットブランチにマージできるマージ戦略のみをコンソールで選択できるようにします。ローカルコンピュータまたは開発環境で git merge コマンドを実行してソースブランチをターゲットブランチにマージすると、選択した Git マージ戦略でプルリクエストをマージできます。その後、ターゲットブランチの変更を CodeCatalyst のソースリポジトリにプッシュできます。
注記
ブランチをマージして Git に変更をプッシュしても、プルリクエストは自動的には閉じられません。
プロジェクト管理者ロールがある場合は、承認と承認ルールのすべての要件を満たしていないプルリクエストをマージすることもできます。
プルリクエストをマージする (コンソール)
ソースブランチとターゲットブランチの間にマージ競合がなく、すべての必須のレビュアーがプルリクエストを承認している場合、CodeCatalyst コンソールでプルリクエストをマージできます。競合がある場合、またはマージを完了できない場合は、マージボタンが非アクティブになり、[マージ不可] ラベルが表示されます。この場合、必要な承認者から承認を取得し、必要に応じてローカルで競合を解決して、それらの変更をプッシュしてから、マージする必要があります。プルリクエストをマージすると、プルリクエストの作成者、および必須または任意のレビュアーに E メールが自動的に送信されます。プルリクエストにリンクされた問題が自動的に閉じられたり、ステータスが変更されたりすることはありません。
ヒント
プロファイルの一部として、E メールを受信するプルリクエストイベントを設定できます。詳細については、「CodeCatalyst からの Slack 通知および E メール通知を送信する」を参照してください。
プルリクエストをマージするには
-
プルリクエストをマージするプロジェクトに移動します。
-
プロジェクトページの [未解決のプルリクエスト] で、マージするプルリクエストを選択します。プルリクエストが表示されない場合は、[すべてのプルリクエストを表示] を選択し、リストから選択します。または、ナビゲーションペインで、[コード] を選択し、[プルリクエスト] を選択して、マージするプルリクエストを選択します。[Merge (マージ)] を選択します。
-
プルリクエストに使用可能なマージ戦略のいずれかを選択します。必要に応じて、プルリクエストをマージした後にソースブランチを削除するオプションを選択または選択解除し、[マージ] を選択します。
注記
マージボタンが非アクティブな場合、または [マージ不可] ラベルが表示されている場合は、必須のレビュアーがプルリクエストをまだ承認していないか、プルリクエストを CodeCatalyst コンソールでマージできません。プルリクエストを承認していないレビュアーは、[概要] の [プルリクエストの詳細] エリアに時計のアイコンで示されます。すべての必須のレビュアーがプルリクエストを承認してもマージボタンが非アクティブである場合、マージの競合が発生している可能性があります。下線付きの [マージ不可] ラベルを選択すると、プルリクエストをマージできない理由の詳細が表示されます。開発環境または CodeCatalyst コンソールでターゲットブランチのマージ競合を解決してからプルリクエストをマージするか、または競合を解決してローカルでマージし、マージを含むコミットを CodeCatalyst のソースブランチにプッシュできます。詳細については、「プルリクエストのマージ (Git)」および Git ドキュメントを参照してください。
マージ要件を上書きする
プロジェクト管理者ロールがある場合は、必要な承認と承認ルールのすべての要件を満たしていないプルリクエストをマージできます。これは、プルリクエストの要件の上書きと呼ばれます。必須のレビュアーが対応できない場合や、すぐには満たすことができない承認ルールがあるブランチに特定のプルリクエストをマージする必要が緊急に生じた場合に、これを行うことができます。
プルリクエストをマージするには
-
要件を上書きしてマージするプルリクエストで、マージボタンの横にあるドロップダウン矢印を選択します。[承認要件を上書きする] を選択します。
-
[オーバーライドの理由] に、承認ルールと必須のレビュアーの要件を満たさずにこのプルリクエストをマージする理由の詳細を記入します。これはオプションですが、入力することを強くお勧めします。
-
必要に応じてマージ戦略を選択するか、デフォルトを受け入れます。また、自動生成されたコミットメッセージを詳細に更新することもできます。
-
マージ時にソースブランチを削除するオプションを選択または選択解除します。プルリクエストのマージ要件を上書きする場合、他のチームメンバーと決定を確認する機会が得られるまでソースブランチを保持することをお勧めします。
-
[Merge (マージ)] を選択します。
プルリクエストのマージ (Git)
Git では、ブランチのマージと管理のための多くのオプションをサポートしています。コマンドで使用できる主なオプションの一部を次に示します。詳細については、Git ウェブサイト
ローカルリポジトリのソースブランチからの変更をローカルリポジトリのターゲットブランチにマージします。 |
|
早送りマージを指定して、ソースブランチをターゲットブランチにマージします。これにより、ブランチがマージされ、ターゲットブランチポインタがソースブランチの先端に移動します。 |
|
スカッシュマージを指定して、ソースブランチをターゲットブランチにマージします。これにより、ソースブランチからのすべてのコミットが、ターゲットブランチの単一のマージコミットに結合されます。 |
|
3 方向マージを指定して、ソースブランチをターゲットブランチにマージします。これにより、マージコミットが作成され、ソースブランチからターゲットブランチに個々のコミットが追加されます。 |
|
ローカルリポジトリのソースブランチを削除します。これは、ターゲットブランチにマージして変更をソースリポジトリにプッシュした後、ローカルリポジトリのクリーンアップとして実行できます。 |
|
ローカルリポジトリでリモートリポジトリに指定されたニックネームを使用して、リモートリポジトリのソースブランチ (CodeCatalyst のソースリポジトリ) を削除します。(コロン ( |
|