练习 - 添加一个要求评审的规则

已完成

在本单元中,你要对 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 分支,请选择“删除分支”。