关于协作编码
在 GitHub 上与他人协作时,通常会在项目的分支或派生库中进行更改,然后通过拉取请求提交这些更改。 拉取请求会显示原始代码与所做更改之间的差异,并邀请仓库维护者将你的代码合并到项目中。
获取他人对你拉取请求的反馈是软件开发流程中的重要环节。 拉取请求评审不仅能优化你当前开发的特定代码,还能持续提升你的编程水平与协作能力。 有时(特别是在学习编程时),你可能并不总能找到可以寻求反馈的人。 在这些情况下,你可通过 GitHub Copilot 获得反馈及其全部优势。
拉取请求是一个协作平台,你可在此处向他人展示你建议的更改并获取反馈。 当你请求Copilot进行评审时,你将学习在与开发团队合作时所使用的相同过程。 唯一的区别是,你还将与Copilot一起向人类同事请求评审。
注意
GitHub 网站上的 Copilot代码审查 是一项高级功能,随 Copilot Pro、Copilot Pro+、Copilot业务 和 Copilot Enterprise 计划提供。 要了解使用 Copilot代码审查 如何影响你的配额,请参阅《关于 GitHub Copilot 的代码审查》。 如果你是学生,或许能够免费访问 Copilot 的高级功能,具体请参阅“以学生身份免费访问 GitHub Copilot”。
1.创建练习仓库
本练习将使用一个包含现有代码的示例仓库。 示例仓库为 new2code/grid-toy,这是一个使用 HTML 和 JavaScript 构建的小型项目,可显示颜色变换的方块网格。 这是一个 GitHub Pages 站点,你可通过 https://new2code.github.io/grid-toy 查看原始版本。
首先创建你自己的 grid-toy 仓库副本。
- 导航到新仓库页面。 遵循此链接将在
new2code帐户上预先选择模板。 - 在“Owner”下,选择你的用户帐户。
- 在“Repository name”字段中,键入“grid-toy”。
- 单击“创建存储库”。
2.进行更改
接下来,更改 JavaScript 文件。
-
在新仓库中,单击文件列表中的
script.js。 -
要编辑 JavaScript 文件,请在右上角单击 。
-
在第 25 行添加以下代码:
JavaScript if (Math.random() < INVERT_PROBABILITY) { cell.classes.add("black"); }if (Math.random() < INVERT_PROBABILITY) { cell.classes.add("black"); }此更改会在页面加载时,随机将部分网格方块设为黑色。 此处故意设置了一个错误以触发 GitHub Copilot 的反馈:正确属性应为
.classList而非.classes。 GitHub Copilot 应会帮助我们修复此问题。 -
要提交更改,请在右上角单击“Commit changes...”****
-
在“Commit message”字段中,输入类似“在加载时随机设置方块”的内容。
-
选择“为此提交创建新分支并启动拉取请求”****。
-
单击“提议更改”。
3.创建拉取请求并请求评审
现在完成拉取请求并请求评审。
- 键入拉取请求的标题,并可选择添加描述。
- 单击“Reviewers”****。
- 如果建议列表中显示Copilot,请单击“Copilot”。
- 如果没有,请开始键入“Copilot”,然后单击结果。
- 单击“创建拉取请求”****。
你将跳转至新建的拉取请求页面。
4.应用建议的更改
数分钟内,GitHub Copilot 将自动评审你的拉取请求:生成问题摘要并为发现的问题创建更改建议。
-
请等待 GitHub Copilot 的评审结果出现。
-
其中一个建议应该通过将
.classes更改为.classList来修正之前有意设置的错误。 在建议的更改下方,单击“Commit suggestion”****。
-
单击“提交更改”。
-
GitHub Copilot 可能还发现了其他改进,并留下了额外注释。 如果了解建议的更改,也可以应用这些更改。
5.合并
对更改感到满意后,你可以合并拉取请求。 这会将分支中的更改添加到仓库的默认分支 (main) 中。
- 在页面底部,单击“Merge pull request”****。
- 也可更新提交消息。
- 单击“Confirm merge”****。
后续步骤
可使用 GitHub Pages 发布项目。 现在你已经做了一些更改,你可以发布你的存储库版本来查看它的运行情况。 请参阅“为您的 GitHub Pages 网站配置发布源”。