gitlab 如何拉取 合并后的代码 但实际上没有真的合并
·
在 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 后面的 目录 是路径
更多推荐

所有评论(0)