練習 - 新增規則以要求檢閱

已完成

在本單元中,您會在 GitHub 上設定規則,以要求檢閱者核准變更,然後才能將變更合併到 main 分支。 此外,您也會修正 Space Game 網站首頁上的打字錯誤。

目前,該小組允許任何人只要提出提取要求,就能將程式碼合併到 main 分支。 因為不需要檢閱,所以其中可能會滋生出不正確或不穩定的程式碼。

Andy 決定對提取要求加上檢查來加強把關。 他想要將 GitHub 設定為必須由提取要求建立者以外的人檢閱程式碼,然後才能合併。 現在來看一下怎麼做。

Andy 起身去找 Mara,發現她正在座位上忙個不停,頭隨著耳機裡的音樂搖晃不已。

Andy:Mara,我一直想和你討論一下。

Mara 抬起頭來。

Mara:有什麼事嗎?

Andy:組建裡產生了好幾個小錯誤。 就在今天,首頁上出現了打字錯誤。 Amita 花了太多時間來處理這些事。 我們必須阻止這些錯誤進入到 main 分支。 我們需要有另一雙眼睛來檢查程式碼,然後再核准提取要求。

Mara:我可以做些設定。 在 GitHub 中,有一種方法可確保會先有其他人檢閱並核准提取要求,然後才允許其合併。

設定核准

在本節中,您會在 GitHub 上設定規則,要求要有至少一位檢閱者核准提取要求後,才能將提取要求合併至 main 分支。 然後將修正推送至 Mara 稍早所犯的打字錯誤,以確認規則是否正常運作。

新增規則

  1. 在 GitHub 中,移至您的 Space Game 專案存放庫。
  2. 選取頁面頂端附近的 [設定] 索引標籤。
  3. 在左側功能表上,選取 [分支]
  4. 確定已選取 main 作為您的預設分支。
  5. 選取 [新增分支保護規則]
  6. 在 [分支名稱模式] 下,輸入 main
  7. 選取 [合併之前需要提取要求] 核取方塊。
  8. 選取 [需要核准] 核取方塊。
  9. 讓 [所需的核准檢閱數] 值保持為 1
  10. 選取建立
  11. 選取儲存變更

注意

選項清單底部有一個名為 [包括管理員] 的選項。 此選項會要求存放庫管理員遵循此規則。 您不必設定這個選項,因為您就是存放庫的管理員,而且也沒有其他檢閱者。 在本單元中,為了方便學習,由您檢閱並核准您自己的提取要求。

提交修正

在本節中,您會對首頁上的打字錯誤提交修正。 您應該記得,"official" 一字在輸入時打錯為 "oficial"。

Space Game 網站的螢幕擷取畫面,其中顯示打字錯誤。

  1. 在 Visual Studio Code 中,移至終端機。

  2. 若要簽出 main 分支,請執行 git checkout

    git checkout main
    
  3. 若要從 GitHub 提取出 main 分支的最新變更,請執行 git pull

    git pull origin main
    

    您會看到有兩個檔案更新了:

    • 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 分支。

    GitHub 的螢幕擷取畫面,其中顯示最近推送的分支。

  2. 若要啟動您的提取要求,請選取 [參與],並選取 [開啟提取要求]

  3. 將您派生的存放庫設定為基底存放庫。

    確認可合併分支的 GitHub 螢幕擷取畫面。

  4. 選取 [建立提取要求]

    您會看到需要人工檢閱,才能合併變更。

    GitHub 上提取要求的螢幕擷取畫面,其中顯示需要檢閱才能合併。

    實務上,您會指派小組成員來檢閱您的變更。 在本單元中,為了方便學習,您可以合併自己的提取要求。

  5. 選取 [合併但不等待符合需求 (略過分支保護)] 核取方塊,然後選取 [合併提取要求]

  6. 選取 [確認合併]

    您的變更隨即合併。

  7. 若要刪除 bugfix/home-page-typo 分支,請選取 [刪除分支]