【发布时间】:2023-03-15 04:39:01
【问题描述】:
我想查看 GitHub 上 git 存储库的单个分支中的所有代码。 (我是教授,代码是学生论文的一部分。)任何一次提交都只会影响一小部分代码。如何执行审查以允许我对来自任何提交的所有代码进行每行 cmets?
我相信这个问题与 How can I make a github PR requesting review of entire files? 有关,但从未得到回答。
【问题讨论】:
我想查看 GitHub 上 git 存储库的单个分支中的所有代码。 (我是教授,代码是学生论文的一部分。)任何一次提交都只会影响一小部分代码。如何执行审查以允许我对来自任何提交的所有代码进行每行 cmets?
我相信这个问题与 How can I make a github PR requesting review of entire files? 有关,但从未得到回答。
【问题讨论】:
导航到 repo,然后使用下拉菜单选择分支(例如):
然后在切换后你可以选择Compare 或Pull request,这将再次显示在 repo 文件列表的顶部 - 你可以在两者中进行比较,但 PR 选项可以打开一个“票”进行合并 -请求从分支中拉取。
或者你可以点击提交链接:
然后只需打开提交(如果您从Compare 或Pull request 检查并在差异本身内,您可以将鼠标悬停在特定行上。一旦光标悬停,就会出现+ 符号。您可以发表评论,作者将通过电子邮件收到通知。
注意:虽然可以通过提交来查看整个代码库,但请确保您知道您正在查看的状态是什么,因为提交注释不会像消失一样简单地消失在拉取请求中。它会留在那里,因此您需要以某种方式记下它已解决(除非 GitHub 添加了我不知道的新功能)并再次检查,例如在master分支中是否已经解析了部分文件。
虽然这是一个相当繁琐的过程,所以它可能只适用于代码库的较小部分或学校项目,因为它不能很好地扩展,因为 cmets 仍然存在并且需要手动检查是否审查 cmets 已被考虑/实施。
对于扩展,您可能可以使用更具侵入性但更具可扩展性的技术,例如创建新的空仓库(或新分支,然后 while :;do git reset HEAD~ --hard;done 直到初始提交)并添加按功能分组的相关文件它们代表(希望是测试,因为它肯定会在一段时间内破坏代码库)然后开始为每个打开 PR,审查,让 GitHub 删除 cmets 并在代码质量足够时合并。尽管如此,当试图将 git 视为一个简单的文件夹结构时,这是一种解决方法,它不是 - 而是一个图形/树。
或者,您可以为您的学生/同事/同伴创建一个任务列表,她/他可以在其中将任务标记为已完成,或者使用相关行 referenced by a permalink 打开一个全新的问题。
【讨论】:
main),我没有看到Compare 或Pull Request 选项。有“拉取请求”链接,但没有任何 PR。 imgur.com/a/yViD7Rw 我知道如何在提交或 PR 上创建 cmets,这也是我通常的做法,尽管正如你所提到的,单步执行提交图也有缺点。
Compare,因为没有另一个分支可以比较,很遗憾。您不一定需要在 PR 下发表评论,如果您在回购。
git checkout -b mybranch 创建一个新分支,然后将所有提交恢复到初始提交(例如,与git reset 结合使用时为真),推送然后打开一个拉取请求到该分支。