演習 - レビューを要求するルールを追加する

完了

このユニットでは、GitHub で、main ブランチに変更をマージする前に、レビュー担当者による変更の承認を要求するというルールを設定します。 おまけとして、Space Game Web サイトのホーム ページにある入力エラーの修正も行います。

現在チームでは、pull request を発行した開発者全員に、コードを main ブランチにマージすることを許可しています。 レビューは必須ではないため、正しくないコードや不安定なコードが紛れ込む可能性があります。

Andy は、他人の目という形で、pull request に確認を追加すると決めています。 彼は、コードをマージする前に、pull request の作成者以外のユーザーにコードのレビューを要求するよう GitHub を設定したいと考えています。 これを行う方法を見てみましょう。

Andy は Mara の元へ向かい、彼女のデスクのところで、イヤホンの音楽に合わせて頭を動かしながら席を離れようとしている Mara を見つけました。

Andy: Mara、私はあることについて、あなたに話すつもりでした。

Mara が見上げます。

Mara: どのようなことでしょうか。

Andy: 小さなミスがいくつか、ビルドまで持ち越されています。 今日だけでも、ホーム ページに入力ミスが表示されています。 こうしたことに Amita が費やしている時間が多すぎます。 main ブランチにたどり着く前にこれらを止める必要があります。 pull request が承認される前に、コードに関して別の人の目が必要です。

Mara: 私がそれを設定できます。 GitHub には、他の誰かが pull request をレビューして承認する前には pull request がマージされないようにする方法があります。

承認を設定する

このセクションでは、GitHub で、pull request を main ブランチにマージする前に、少なくとも 1 人のレビュー担当者にその承認を要求するというルールを設定します。 その後、Mara が以前に作成した修正プログラムを入力ミスに対してプッシュすることで、そのルールが正しく機能していることを確認します。

ルールを追加する

  1. GitHub で、Space Game プロジェクト リポジトリに移動します。
  2. ページ最上部の近くにある [Settings] タブを選択します。
  3. 左のメニューで [ブランチ] を選択します。
  4. 既定のブランチとして [main] が選択されていることを確認します。
  5. [ブランチ保護ルールの追加] を選択します。
  6. [Branch name pattern] に「main」と入力します。
  7. [Require pull request reviews before merging](マージの前に pull request のレビューが必要) チェック ボックスを選択します。
  8. [Require approvals](承認が必要) チェックボックスを選択します。
  9. [Required approving reviews] の値は 1 のままにします。
  10. [作成] を選択します。
  11. [変更の保存] を選択します。

Note

選択肢の一覧の一番下に、[Include Administrators] というオプションがあります。 このオプションを選択すると、リポジトリ管理者がルールに従う必要があります。 あなたのリポジトリの管理者はあなたで、別のレビュー担当者はいないため、それは設定しません。 このユニットでは、学習目的で、あなたが自分自身の pull request のレビューと承認を行います。

修正プログラムを送信する

このセクションでは、ホーム ページ上の入力ミスに対する修正プログラムを送信します。 "official" という単語が、誤って "oficial" と入力されていることを思い出してください。

Screenshot of the Space Game website showing a typing error.

  1. Visual Studio Code で、ターミナルに移動します。

  2. main ブランチをチェックアウトするため、git checkout を実行します。

    git checkout main
    
  3. GitHub から、main ブランチに対する最新の変更をプルするため、git pull を実行します。

    git pull origin main
    

    2 つのファイルが更新されていることがわかります。

    • README.md: ビルド バッジを表示するための Markdown コードが含まれます。
    • Index.cshtml: 入力ミスが含まれる、更新されたホーム ページのテキストが含まれます。
  4. このエラーを修正するため、ブランチを作成してチェックアウトします。

    git checkout -B bugfix/home-page-typo
    
  5. エクスプローラーで Index.cshtml を開きます。

  6. エラーを見つけます。

    <p>Welcome to the oficial Space Game site!</p>
    
  7. 行に変更を加えてエラーを修正します。

    <p>Welcome to the official Space Game site!</p>
    
  8. ファイルを保存します。

  9. ターミナルで、変更をステージしてコミットします。

    git status
    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    git commit -m "Fix typing error on the home page"
    

    実際には、通常、サイトをローカルでビルドして実行し、変更を確認します。 このユニットでは、簡潔にするため、その手順を省略しましょう。

  10. GitHub にブランチをプッシュします。

    git push origin bugfix/home-page-typo
    

ルールをテストする

  1. GitHub で、bugfix/home-page-typo ブランチを見つけて選択します。

    Screenshot of GitHub showing the recently pushed branch.

  2. pull request を開始するには、[Contribute][Open pull request] の順に選択します。

  3. フォークしたあなたのリポジトリを、基本リポジトリとして設定します。

    Screenshot of GitHub confirming that the branch can be merged.

  4. [pull request の作成] を選択します。

    変更をマージする前に人によるレビューが必要であることがわかります。

    Screenshot of a pull request on GitHub showing that a review is required in order to merge.

    実際には、変更をレビューするチーム メンバーを割り当てます。 このユニットでは、学習目的で自分自身の pull request をマージできます。

  5. [Merge without waiting for requirements to be met (bypass branch protections)](要件が満たされるのを待たずにマージする (ブランチ保護をバイパスする)) チェック ボックスを選択し、[Merge pull request](pull request のマージ) を選択します。

  6. [Confirm merge](マージの確認) を選択します。

    変更がマージされます。

  7. bugfix/home-page-typo ブランチを削除するため、[ブランチの削除] を選択します。