多分支merge忽略文件合并

.gitattributes文件用于指定Git处理文件的方式,包括二进制文件类型、处理逻辑和自定义标志。gitmerge的逻辑涉及合并分支时的冲突处理。文章还介绍了如何自定义merge驱动,通过设置全局merge策略和.gitattributes文件,可以忽略特定文件的merge操作,如resources下的应用配置文件。
摘要由CSDN通过智能技术生成

该文章已同步收录到我的博客网站,欢迎浏览我的博客网站,xhang’s blog

1. .gitattributes 文件的作用

.gitattributes 文件是 Git 版本控制系统中的一个配置文件,它用于指定 Git 如何处理文件的二进制数据,以及如何标识文件的类型。
具体来说,.gitattributes 文件的作用包括以下几个方面:

  • 指定二进制文件的类型:在.gitattributes 文件中,可以指定某些二进制文件的类型,例如文本文件、HTML 文件、CSS 文件等。这样,Git 就可以根据文件的类型来自动处理这些文件,例如将文本文件自动转换为 HTML 文件。
  • 设置 Git 如何处理这些文件:在.gitattributes 文件中,可以指定 Git 如何对文件进行处理。例如,可以指定 Git 如何处理这些文件的提交、标记、合并等操作。
  • 自定义文件类型的标志符:在.gitattributes 文件中,可以自定义文件类型的标志符。这样,当 Git 遇到这些文件时,就可以根据标志符来自动处理这些文件,例如将这些文件自动添加到某个分支中。
  • 禁用文件的自动处理:在.gitattributes 文件中,可以禁用某些文件的自动处理。例如,可以禁用 HTML 文件的自动转换为 CSS 文件的功能,这样,即使用户手动将 HTML 文件转换为 CSS 文件,Git 也不会自动处理这些文件。

总的来说,.gitattributes 文件是 Git 中非常重要的一个配置文件,它可以帮助用户更好地控制 Git 如何处理文件,以及如何自动处理文件。

2. git Merge的逻辑

首先git merge大致是这样的逻辑:git在merge分支时,有一个默认的merge驱动,这个驱动会去检查每个文件的每一行,如果按照一定规则发现两个分支的同一个文件有不同,那么认为两个分支都对这个文件做了修改,会merge两个文件,此时有可能产生冲突;那么如果我们自定义一个merge驱动,在里面定义一些不会被检查的文件,那git就会直接跳过这些文件,因此就不会merge,而我们自定义的这个merge驱动就是 ours。

3. 自定义Merge驱动

3.1设置全局 merge 操作的策略

在项目根目录下使用以下命令设置全局merge操作的策略

git config --global merge.ours.driver true

C$W9T%DTBJ_SHX2B_{HMW7S.png

3.2在项目根目录下添加.gitattributes 文件

在项目根目录下添加.gitattributes文件(与.git文件同级),在该文件中写入需要忽略的文件(支持通配符)
下面文件表示,在分支合并的时候忽略以下文件的merge

**/resources/application.yml merge=ours
**/resources/application-dev.yml merge=ours
**/resources/application-test.yml merge=ours
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值