You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何仅查看GitLab合并请求(merge request)中的最新变更?

如何仅查看GitLab合并请求(merge request)中的最新变更?

我之前也被这个问题折腾过——每次花时间review完MR,工程师一更新代码,又要重新扫一遍已经看过的内容,纯纯浪费精力!后来摸索出几个GitLab里的实用方法,分享给你:

方法一:用GitLab内置的「未查看变更」功能(最省心)

这是GitLab专门为代码reviewer设计的功能,完全不用手动找版本,系统帮你自动区分:

  • 打开目标MR的Changes(变更)标签页,能看到每个文件的状态:浅灰色背景是「已查看」,白色背景是「未查看」,部分更新的文件里,新代码块也会高亮显示
  • 第一次review完所有内容后,点击页面顶部的「标记所有为已查看」按钮,把当时的所有变更都标记为已读
  • 等工程师更新MR后,新添加或修改的代码块、文件会自动变成「未查看」状态,GitLab还会自动折叠已查看的内容,你只需要聚焦那些展开的、未标记的部分就行
  • 要是不小心误操作标记错了,还能在页面顶部的「已查看的变更」下拉框里选择「重置已查看状态」,重新开始区分

方法二:手动选择版本对比(精准控制范围)

如果你需要精准对比「你上次review的版本」和「当前最新版本」,就用这个方法:

  • 先切换到MR的Overview(概览)标签页,找到你最后一条评论的时间戳,记下来大致的时间点
  • 回到Changes标签页,点击页面顶部的「比较版本」按钮
  • 在弹出的版本列表里,找到时间戳刚好在你最后评论之前的那个MR版本(这个就是你上次review时的代码状态),把它选作「源版本」
  • 目标版本保持默认的当前最新版本,点击「比较」按钮,生成的Diff就只会显示从你上次review后新增的所有变更,完全不会包含你已经看过的内容

方法三:Git命令行本地对比(适合终端爱好者)

如果你习惯用终端操作代码,也可以把MR分支拉到本地做精准对比:

  • 先从MR的Overview里找到源分支的名称(比如feature/order-refactor),执行命令拉取到本地:git fetch origin feature/order-refactor
  • 然后找到你上次review对应的commit hash:去MR的Commits标签页,找到时间戳和你最后评论时间匹配的那个commit,复制它的完整hash值
  • 最后执行对比命令:git diff <复制的commit hash> origin/feature/order-refactor,终端里就会输出从你上次review的commit到当前分支的所有新变更

个人最推荐方法一,几乎不用费脑子,GitLab帮你把所有脏活累活都做了,省下来的时间多喝杯咖啡不好嘛 😄

火山引擎 最新活动