繁体   English   中英

如何使用 Gitlab 设置代码审查?

[英]How to set up a code review using Gitlab?

如何使用 Gitlab 设置代码审查? 我看到它被列为 Gitlab 网站上的一项功能,但我似乎找不到有关如何设置的说明(就此而言,任何指向 Gitlab 用户手册的链接都将不胜感激)。

我的一些搜索表明“合并请求”是要走的路......但我发现它们有限制。 发出的合并请求显示一个分支和另一个分支之间的所有提交。 我似乎只能查看为每个单独提交生成的差异。 例如,假设我有一个要查看的文件。 这是一个新文件,但我已经在 dev 分支上提交了超过 10 次提交的更改。 如果我从集成中为该开发分支发出合并请求,我会看到 10 个提交,每个提交都显示对文件所做的增量更改...我想查看整个内容。 这是新的!

我在这里吠错树了吗? 是否有我可以在 GitLab 中使用的实际代码审查工具,或者合并请求是否可行,如果是,我是否错误地使用了它们? 在这里设置适当的代码审查的最佳方法是什么?

注意:从 GitLab 6.4 开始,可以使用并排差异视图:请参阅“ pull request 5308 ”。

(2013 年 7 月) 不过,目前还不可能对每一行进行评论,只能在文件级别进行评论。
Daniel Sokolowski 在评论中提到现在支持每行评论(09/2014):

您的团队成员可以对合并请求进行一般性评论,也可以对带有行注释的特定行进行评论。

这仍然有助于代码审查活动。

https://f.cloud.github.com/assets/4224518/1558702/e0fe633a-4fa3-11e3-9388-3f3e445cb6d4.png


6 年后,对于GitLab 13.1(2020 年 6 月)

合并请求评论移至核心

最初在 GitLab 11.4 中作为 GitLab 高级功能引入,合并请求审查允许合并请求审查者:

  • 一次提交多条评论,
  • 减少合并请求作者的通知噪音,以及
  • 允许更有凝聚力和简化的审查过程。

https://about.gitlab.com/images/13_1/batch_comments.png

自推出以来,我们重新评估了它在基于买方的定价模型中的地位,作为 13.1 的一部分,我们很高兴地宣布此功能现已转移到 GitLab Core。

请参阅文档问题


使用GitLab 13.9 (2021 年 2 月),您还可以:

要求审稿人进行后续审阅

合并请求作者会收到审阅者的反馈 通常,需要重新审查这些反馈,以确保所有问题都得到了适当的解决。 作为贡献的作者,您需要向您的审稿人传达跟进的需求。

对于已经审核过合并请求的审核者,您现在可以请求重新审核。 此请求会触发待办事项和电子邮件通知,以提醒用户您需要对您的贡献进行后续审查。

https://about.gitlab.com/images/13_9/create_code_review-request-re-review.png -- 要求审稿人进行后续审查

请参阅文档问题


使用GitLab 13.11 (2021 年 4 月)

添加独立评论以合并请求评论

当您查看更改时,您可能想要总结您的反馈,或评论与特定更改无关的内容。 评论在GitLab只允许评论更改或答复现有评论,这意味着其他种类的意见提交了审查后作出。

作为审核过程的一部分,您现在可以提交一般性评论以及您的回复或特定于更改的评论。 通用注释使向作者提供反馈并使用快速操作更新合并请求中的项目变得简单。

感谢Lee Tickett的贡献!

https://about.gitlab.com/images/13_11/code-review-add-comment-mr-review.png -- 添加独立评论以合并请求评论

请参阅文档问题

我在 Gitlab 中进行代码审查已经两个多月了,几乎没有任何摩擦。 我已经设置了rss2email以在开发人员每次推送新提交时发送电子邮件通知。 然后我使用Gitlab 的comment 功能进行commits 对推送的代码做一些评论。

不幸的是,Gitlab 不允许对文件本身进行评论,只允许在提交中(就像 Github,我猜)。 每当我发现自己需要评论之前提交中遗漏的某些内容时,我都会使用blame工具来查找引入/更改要评论的代码部分的提交。

它远非完美,但到目前为止运行良好。

您可以在其他存储库或当前存储库的合并请求中查看提交的代码。
示例http://demo.gitlab.com/diaspora/diaspora/commits/master

然后您可以向提交的文件更改(按钮Reply )或整个提交添加注释

示例http://demo.gitlab.com/diaspora/diaspora/commit/42f47626890218a180870bc3f44ec57625b0779c

由此产生的交流是代码审查 但是,我个人建议尽可能在一台 PC 上进行代码审查,并进行面对面的交流,并使用工具来记录结果或需要更多形式。

对于有很多提交的文件评论,例如http://demo.gitlab.com/diaspora/diaspora/blame/master/README.md使用blame查看它以了解谁做了什么。 但是,在此视图中,无法进行交流和添加评论。 在这种情况下,我建议只将更改添加为注释。

是的。 合并请求是同行评审的完成方式。

应该有一个“差异”选项卡,将显示所有提交的更改(此处提到:http: //youtu.be/DyAX8ws5OIc?t=3m2s )。

该视频还很好地解释了如何将其用于同行评审。

代码审查的正常用例是在合并到 master 或类似分支之前审查分支上的代码。 我有一种情况,我开发了一个项目,并希望团队中的每个人都审查所有代码。

我所做的是:

签出第一个提交,对其进行更改,提交并推送

git co -b FIRST_COMMIT eb67f06c2b3222c0219214b176c41922bc454881
vi README.md
git add README.md
git ci -m "First commit modified so can get full diff against it"
git push --set-upstream origin FIRST-COMMIT

签出最后一次提交,对其进行更改,提交并推送

git co -b master
vi README.md
git add README.md
git ci -m "Last commit modified so can get full diff against it"
git push --set-upstream origin LAST-COMMIT

在 GitLab / GitHub 上,创建一个拉取请求

  • 它是从 LAST_COMMIT 到 FIRST_COMMIT 的合并

为我工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM