プル リクエストのマージ


アトラシアンでは現在、Bitbucket のプル リクエスト エクスペリエンスの更新を行っています。現在次の機能の改善に取り組んでおり、これらは一時的に利用できない可能性があります。

  • マージ チェックリスト – 管理者がマージ チェックリスト項目を設定している場合、マージを試みてもチェックリストが表示されず、エラーが発生することがあります。
  • [元に戻す] ボタン – まだ使用できない場合があります。

これらの機能を個別のプル リクエストからすぐに利用したい場合、右側のサイドバーの[フィードバック] カードから新しいビューを一時的に無効化できます。Bitbucket の新しいプル リクエスト エクスペリエンスをお試しください。

必要な数のレビュワーがプル リクエストを承認したら、リポジトリの書き込み権限 (または管理権限) を持っているユーザーがプル リクエストをマージできます。別のユーザーと同じコードを処理していた場合、マージの競合が発生し、それをローカルで解決する必要がある場合があります。プル リクエストをマージした後、プル リクエストを戻してリポジトリからマージ コミットを削除できます。

プル リクエストのマージ

変更のマージは、プル リクエスト プロセスの最後の段階です。プル リクエストをマージするには、次の手順を実行します。

  1. [マージ] ボタンをクリックします。次のスクリーンショットのように表示されます。
  2. (オプション) コミット メッセージに詳細を追加して更新します。
  3. (Git リポジトリのみ) [マージ戦略] を次のオプションから選択します。
    • Merge commit—Keeps all commits from your source branch and makes them part of the destination branch.
      This option is the same as entering git merge --no-ff in the command line.
    • Squash—Combines your commits when you merge the source branch into the destination branch.
      This option is the same as entering git merge --squash in the command line.
    • Fast forward—Moves commits from the source branch to the destination branch (if the destination has no new commits).
      This option is the same as entering git merge --ff-only in the command line.
    これら 2 つのタイプのマージ戦略の詳細については、以下のマージ戦略を参照してください。
  4. (オプション) 同じリポジトリ内の 2 つのブランチをマージする場合、[ソース ブランチをクローズする] チェックボックスを選択して、リポジトリ ブランチの一覧からブランチを削除できます。
  5. マージ ボタンをクリックします。

マージ チェックリスト

マージ チェックリストをセットアップする方法

リポジトリ管理者は、リポジトリにマージ チェックリストを追加できます。詳細は、「マージ前にチェックを提案または要求する」を参照してください。

プル リクエストをマージしようとしたときに、マージ チェックリストが表示されることがあります。このチェックリストは、コードのマージ前に解決するように管理者が要求している項目の一覧です。

(warning) が表示されたチェックリスト項目は未解決です。管理者が項目の解決を要求している場合、マージすることはできません。解決が要求されていない場合、チェックリストでこれらの警告を無視することを選択してからマージします。

このチェックリスト項目に (warning) が表示されている場合: プル リクエストの状態
{#} 件以上の承認 承認数がその数を満たしていない
最後のコミットで {#} 件以上のビルドに成功 最後のコミットで成功したビルドがその数を満たしていない
最後のコミットですべてのビルドに成功 最後のコミットに失敗したビルドがある
プル リクエスト タスクが解決済み オープンなプルリクエスト タスクがある

マージ戦略

マージ戦略は現在 Git リポジトリにのみ適用されますが、将来的には Mercurial リポジトリでの対応を予定しています。現時点では、Mercurial のプル リクエストで [マージ] をクリックすると、マージ コミットが実行されます。

マージ戦略は、プル リクエストをマージする際の、コミット履歴の表示方法を定義します。いずれの戦略も、ソース ブランチのすべてのコミットを宛先ブランチにマージします。チームのワークフローやリポジトリの使用方法に応じて戦略のタイプを選択します。

マージ コミットを使用するタイミング

正確な変更履歴を保持したい場合は [マージ コミット] を選択します。マージ コミットは、使用しているワークフローの一環として、プル リクエストの範囲が広く、個々のコミットのレビューが必要な場合にも便利です。この戦略はマージの際にすべてのコミットを保持するため、[コミット] ページでソース ブランチのすべてのコミットを引き続き表示できます。

マージ スカッシュを実行するタイミング

Select Squash to make your commits list less cluttered, which results in less time to search for commits that introduce a bug (with a git bisect) and provides an easy-to-follow commit history. Because this strategy combines all commits when you merge, you'll only see one commit on the destination branch on the Commits page.

ファストフォワード マージを使用するタイミング

ソース ブランチの作成以降に宛先ブランチに新しいコミットがない場合は、[ファストフォワード] を選択しますファストフォワード マージは、ソース ブランチの先頭を宛先ブランチの先頭へと移動させ、コミット履歴を統合します。この戦略はソース ブランチのすべてのコミットを宛先コミットへと移動するため[コミット] ページ上には引き続きすべてのコミットが表示されます。

マージされたプル リクエストを戻す

プル リクエストを元に戻すことはできませんが、プル リクエストによってマージされたコミットを必要に応じて戻すことはできます。Bitbucket はプル リクエストの巻き戻し処理を 2 ステップで実行します。1) Bitbucket はマージされたコミットを戻す 1 つのコミットを持つ、新しいブランチを作成します。2) Bitbucket はそのブランチおよびコミットに対する新しいプル リクエストを作成します。

プル リクエストを戻すには、次の手順を実行します。

  1. プル リクエストでから、右上の [元に戻す] ボタンをクリックします。
  2. (オプション) [プル リクエストを元に戻す] ダイアログで、作成しようとしている新しいブランチのブランチ名にブランチ名を変更します。
  3. [元に戻す] ボタンをクリックします。

    [元に戻す] をクリックすると、Bitbucket によって新しいブランチが作成されます。プル リクエストをキャンセルした場合でも、元に戻されたブランチはリポジトリ内に残ります。

  4. [プル リクエストを作成] ページが開き、元に戻されたブランチがソースとして表示されます。レビュワーを追加して変更を加えた後、[作成] をクリックします。
最終更新日 2018 年 9 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.