【问题标题】:How do I review an entire codebase on github?如何查看 github 上的整个代码库?
【发布时间】:2023-03-15 04:39:01
【问题描述】:

我想查看 GitHub 上 git 存储库的单个分支中的所有代码。 (我是教授,代码是学生论文的一部分。)任何一次提交都只会影响一小部分代码。如何执行审查以允许我对来自任何提交的所有代码进行每行 cmets?

我相信这个问题与 How can I make a github PR requesting review of entire files? 有关,但从未得到回答。

【问题讨论】:

    标签: github github-codereviews


    【解决方案1】:

    导航到 repo,然后使用下拉菜单选择分支(例如):

    然后在切换后你可以选择ComparePull request,这将再次显示在 repo 文件列表的顶部 - 你可以在两者中进行比较,但 PR 选项可以打开一个“票”进行合并 -请求从分支中拉取。

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

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

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

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

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

    或者,您可以为您的学生/同事/同伴创建一个任务列表,她/他可以在其中将任务标记为已完成,或者使用相关行 referenced by a permalink 打开一个全新的问题。

    【讨论】:

    • 谢谢。选择分支后(只有一个,main),我没有看到ComparePull Request 选项。有“拉取请求”链接,但没有任何 PR。 imgur.com/a/yViD7Rw 我知道如何在提交或 PR 上创建 cmets,这也是我通常的做法,尽管正如你所提到的,单步执行提交图也有缺点。
    • 你看不到Compare,因为没有另一个分支可以比较,很遗憾。您不一定需要在 PR 下发表评论,如果您在回购。
    • 谢谢。我确实有访问权限。我想要的是为整个代码集创建一个 PR。我想我可以让学生创建一个新分支,从该分支中​​删除所有内容,然后从 main.xml 合并所有内容。我只是希望有更好的方法。
    • 嗯,是的,但主要适用于已使用 empty commit 初始化的 repo,否则您将看不到所有内容,并且 init 提交的 diff 越大,少你会看到。请参阅编辑后的答案。您可以使用git checkout -b mybranch 创建一个新分支,然后将所有提交恢复到初始提交(例如,与git reset 结合使用时为真),推送然后打开一个拉取请求到该分支。
    猜你喜欢
    • 2021-11-24
    • 2022-12-02
    • 2021-08-04
    • 1970-01-01
    • 2023-04-01
    • 2011-12-07
    • 2021-02-03
    • 2020-08-15
    • 1970-01-01
    相关资源
    最近更新 更多