练习 - 添加一个要求评审的规则
在本单元中,你要对 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
分支,请选择“删除分支”。