文档

如何在合并时支持忽略部分文件不合入?

更新时间:

由于 Git 配置文件非常灵活,目前服务端不支持在合并时忽略部分文件不合入。

但是在本地合并时支持设置忽略合并的文件,具体操作建议如下。

若有页面评审的需求,可在页面创建合并请求,利用平台能力完成自动化/人工评审,注意完成后不要通过页面进行合并,需在本地针对已经评审通过的内容,执行合并操作。

操作前需要进行忽略规则配置。

配置过程用以下示例说明:

  1. 实现 dev 分支根目录下的文件 demo.txt,不合并到 master 分支上;

  2. 实现 dev 分支文件 /common/src/main/resources/demo.yml,不合并到 master 分支上;

为了实现以上目的,设置步骤如下。

1.首先在根目录下运行命令,启用忽略文件设置:

git config merge.ours.driver true    

2.在 dev 分支上建立 .gitattributes 文件并提交,内容如下:

demo.txt merge=ours
/common/src/main/resources/demo.yml merge=ours

3.切换到 master 分支上,执行 merge 操作:

git checkout master
git merge dev
重要

如果 dev 的某个文件修改不需要合并到 master ,则 master 的文件修改时间必须在 dev 的修改时间之后。

在示例中,需要先修改 dev 分支的文件并提交,再修改 master 的文件并提交,然后合并。