关于协作编码
在 GitHub 上与他人协作时,通常会在项目主分支的分支或复刻中进行更改,然后通过拉取请求提交更改。 拉取请求会显示原始代码与所做更改之间的差异,并邀请仓库维护者将你的代码合并到项目中。
获取他人对你拉取请求的反馈是软件开发流程中的重要环节。 拉取请求评审不仅能优化你当前开发的特定代码,还能持续提升你的编程水平与协作能力。 有时(特别是在学习编程时),你可能并不总能找到可以寻求反馈的人。 在这些情况下,你可通过 GitHub Copilot 获得反馈及其全部优势。
拉取请求是一个协作平台,你可在此处向他人展示你建议的更改并获取反馈。 向 Copilot 请求代码评审时,实际上就是在学习与开发团队协作的相同流程。 唯一区别在于,除 Copilot 外,你还需向真人同事请求评审。
注意
GitHub 网站上的 Copilot 代码评审 是一项高级功能,适用于 Copilot 专业版、Copilot Pro+、Copilot Business 和 Copilot Enterprise 计划。 要了解使用 Copilot 代码评审 如何影响你的配额,请参阅“使用 GitHub Copilot 代码评审”。 如果你是学生,可能有机会免费获取 Copilot 专业版,请参阅“以学生、教师或维护者身份免费访问 Copilot Pro”。
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”字段中,输入类似“Randomly set squares on load”的内容。
-
选择“为此提交创建新分支并启动拉取请求”。
-
单击“提议更改”。
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 站点的发布源”。