在 GitLab 中,若想获取 “合并请求(MR)预期合并后的代码状态” 但不实际执行合并(即模拟合并结果),可通过 Git 命令在本地拉取 MR 的 “合并预览” 状态。这种方式常用于提前测试合并后的代码是否能正常构建、运行,避免实际合并后出现问题。
核心原理
GitLab 会为每个 MR 生成一个合并预览引用(merge ref),指向 “目标分支 + MR 分支” 合并后的临时状态(类似本地 git merge 后的结果,但仅存在于远程引用中,未实际合并到目标分支)。通过拉取这个引用,即可在本地获取合并后的代码。

123 就是合并请求的id

# 拉取 MR 合并预览引用,并在本地创建临时分支
git fetch origin refs/merge-requests/123/merge:temp-mr-123-merged
# 切换到临时分支
git checkout temp-mr-123-merged

123 就是合并请求的id
在这里插入图片描述

只显示有差异的文件路径,不展示具体内容:
git diff dev --name-only

git diff main -- src/utils.js  # 比较 src/utils.js 文件

git diff -- 目录 --name-only  # 用 -- 分隔,告诉 Git 后面的 目录 是路径

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐