練習 - 新增規則以要求檢閱
在本單元中,您會在 GitHub 上設定規則,以要求檢閱者核准變更,然後才能將變更合併到 main
分支。 此外,您也會修正 Space Game 網站首頁上的打字錯誤。
目前,該小組允許任何人只要提出提取要求,就能將程式碼合併到 main
分支。 因為不需要檢閱,所以其中可能會滋生出不正確或不穩定的程式碼。
Andy 決定對提取要求加上檢查來加強把關。 他想要將 GitHub 設定為必須由提取要求建立者以外的人檢閱程式碼,然後才能合併。 現在來看一下怎麼做。
Andy 起身去找 Mara,發現她正在座位上忙個不停,頭隨著耳機裡的音樂搖晃不已。
Andy:Mara,我一直想和你討論一下。
Mara 抬起頭來。
Mara:有什麼事嗎?
Andy:組建裡產生了好幾個小錯誤。 就在今天,首頁上出現了打字錯誤。 Amita 花了太多時間來處理這些事。 我們必須阻止這些錯誤進入到 main
分支。 我們需要有另一雙眼睛來檢查程式碼,然後再核准提取要求。
Mara:我可以做些設定。 在 GitHub 中,有一種方法可確保會先有其他人檢閱並核准提取要求,然後才允許其合併。
設定核准
在本節中,您會在 GitHub 上設定規則,要求要有至少一位檢閱者核准提取要求後,才能將提取要求合併至 main
分支。 然後將修正推送至 Mara 稍早所犯的打字錯誤,以確認規則是否正常運作。
新增規則
- 在 GitHub 中,移至您的 Space Game 專案存放庫。
- 選取頁面頂端附近的 [設定] 索引標籤。
- 在左側功能表上,選取 [分支]。
- 確定已選取 main 作為您的預設分支。
- 選取 [新增分支保護規則]。
- 在 [分支名稱模式] 下,輸入 main。
- 選取 [合併之前需要提取要求] 核取方塊。
- 選取 [需要核准] 核取方塊。
- 讓 [所需的核准檢閱數] 值保持為 1。
- 選取建立。
- 選取儲存變更。
注意
選項清單底部有一個名為 [包括管理員] 的選項。 此選項會要求存放庫管理員遵循此規則。 您不必設定這個選項,因為您就是存放庫的管理員,而且也沒有其他檢閱者。 在本單元中,為了方便學習,由您檢閱並核准您自己的提取要求。
提交修正
在本節中,您會對首頁上的打字錯誤提交修正。 您應該記得,"official" 一字在輸入時打錯為 "oficial"。
在 Visual Studio Code 中,移至終端機。
若要簽出
main
分支,請執行git checkout
:git checkout main
若要從 GitHub 提取出
main
分支的最新變更,請執行git pull
:git pull origin main
您會看到有兩個檔案更新了:
- README.md:包含用來顯示組建徽章的 Markdown 程式碼。
- Index.cshtml:包含已更新的首頁文字,其中包括打字錯誤。
若要修正錯誤,請建立並簽出分支:
git checkout -B bugfix/home-page-typo
在檔案總管中,開啟 Index.cshtml。
找出打字錯誤:
<p>Welcome to the oficial Space Game site!</p>
變更該行以更正錯誤:
<p>Welcome to the official Space Game site!</p>
儲存檔案。
在終端機內暫存並認可變更:
git status git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml git commit -m "Fix typing error on the home page"
實務上,您通常會在本機建立並執行網站來確認變更。 在本單元中,為求簡單,我們略過該步驟。
將 分支推送至 GitHub。
git push origin bugfix/home-page-typo
測試規則
在 GitHub 中,找出並選取
bugfix/home-page-typo
分支。若要啟動您的提取要求,請選取 [參與],並選取 [開啟提取要求]。
將您派生的存放庫設定為基底存放庫。
選取 [建立提取要求]。
您會看到需要人工檢閱,才能合併變更。
實務上,您會指派小組成員來檢閱您的變更。 在本單元中,為了方便學習,您可以合併自己的提取要求。
選取 [合併但不等待符合需求 (略過分支保護)] 核取方塊,然後選取 [合併提取要求]。
選取 [確認合併]。
您的變更隨即合併。
若要刪除
bugfix/home-page-typo
分支,請選取 [刪除分支]。