You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab合并分支时如何保留各自.gitlab-ci.yml文件不被合并?

合并分支时忽略指定文件的配置方法

可以实现该需求,分为长期自动生效配置和临时单次生效两种方案,具体操作如下:

长期自动生效配置

通过Git内置的合并驱动规则实现,配置完成后所有后续合并都会自动忽略.gitlab-ci.yml文件的变更:

  1. 在项目根目录新建/编辑.gitattributes文件,添加如下规则:
.gitlab-ci.yml merge=ours

该规则的作用是告知Git,合并涉及.gitlab-ci.yml文件时,直接使用合并目标分支(此处为build分支)的文件版本,完全忽略源分支(dev分支)的对应变更,也不会触发合并冲突。
2. 开启ours合并驱动,执行以下命令:

# 全局生效(所有本地项目都适用)
git config --global merge.ours.driver true

# 仅当前项目生效,去掉--global参数即可
git config merge.ours.driver true

注意:如果使用GitLab在线合并请求(MR)功能,将写好的.gitattributes文件提交到build分支后,平台侧的合并操作也会自动应用该规则。

临时单次合并生效

如果仅本次合并需要忽略该文件,不需要长期配置,执行以下操作即可:

# 切换到目标build分支
git checkout build
# 合并dev分支,不自动提交也不快速合并
git merge dev --no-commit --no-ff
# 强制保留build分支的.gitlab-ci.yml版本,覆盖合并带来的变更
git checkout HEAD -- .gitlab-ci.yml
# 提交合并结果
git commit

内容的提问来源于stack exchange,提问作者YuSheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:54:03