如何在 GitHub 上审查整个代码库?

5
我希望能够在GitHub上检查一个Git仓库中单个分支的所有代码。(我是一名教授,这些代码是学生论文的一部分。) 任何单个提交只会影响代码的一小部分。我该如何进行审核,以便我可以对来自任何提交的所有代码进行逐行评论?
我认为这个问题与如何请求审查整个文件的github PR?有关,该问题从未得到回答。
1个回答

0
转到仓库,然后使用下拉菜单选择分支(例如):

然后在切换后,您可以选择比较拉取请求,它们将再次显示在仓库文件列表的顶部,您可以在两者中进行比较,但是PR选项可以打开用于合并的“票”——从一个分支拉取的请求。

或者您可以点击提交链接:

然后只需打开提交(如果您从比较拉取请求中检查,并在差异本身内悬停在特定行上即可。一旦光标悬停,将出现一个+符号。您可以发表评论,作者将通过电子邮件收到通知。

注意:在审查整个代码库时,可以通过提交来完成,但请确保您了解正在审查的状态,因为提交注释不会像在拉取请求中那样简单地消失。它将留在那里,因此您需要以某种方式记录它已解决(除非GitHub添加了我不知道的新功能),并再次检查例如在master分支中,文件的部分是否已解决。

虽然这是一个相当繁琐的过程,所以它可能只适用于代码库的较小部分或学校项目,因为由于评论仍然存在并且需要手动检查审查意见是否已被考虑/实施,所以它无法很好地扩展。

对于扩展,您可以使用一种更具侵入性但更可扩展的技术,例如创建一个新的空存储库(或一个新分支,然后while :;do git reset HEAD~ --hard;done直到初始提交),并添加表示它们所代表的功能的相关文件(并希望有一个测试,因为它肯定会破坏代码库一段时间),然后开始为每个文件组开放PR,进行审查,让GitHub删除评论,并在代码达到足够质量时合并。不过,这仍然是一种解决方案,当尝试将git视为简单的文件夹结构时,它实际上不是-而是一个图形/树。

或者,您可以为您的学生/同事/同行创建一个任务列表,在其中标记已完成的任务或打开一个完全新的问题,并提供相关行由永久链接引用


谢谢。在选择分支(只有一个,main)之后,我没有看到“比较”或“拉取请求”的选项。有“拉取请求”链接,但没有任何PR。https://imgur.com/a/yViD7Rw我知道如何对提交或PR进行评论,这通常是我所做的,尽管正如您提到的那样,通过提交图形进行步进也有缺点。 - Ellen Spertus
很遗憾,你看不到“比较”是因为没有另一个分支可以进行比较。在 PR 下面你不一定需要评论,如果你在仓库中有足够的访问权限,你可以在任何地方打开 任何 提交(通过 History/Blame)并在任何行上发表评论。 - Peter Badida
谢谢。我确实有权限。我想创建一个针对整个代码集的PR。我猜我可以让学生创建一个新分支,将该分支中的所有内容删除,然后合并主分支中的所有内容。我只是希望有更好的方法。 - Ellen Spertus
嗯,是的,但主要适用于已使用空提交初始化的存储库,否则您将看不到所有内容,而初始提交的差异越大,您将看到的内容就越少。请参见编辑后的答案。您可以使用git checkout -b mybranch创建一个新分支,然后还原到初始提交之前的所有提交(例如,使用git reset与while true组合),推送,然后打开一个拉取请求到该分支。 - Peter Badida

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接