能否将.gitattributes中的LFS设置复制到其他Git仓库使用
跨Git仓库复用.gitattributes文件的安全性说明
直接复制统一的.gitattributes文件到各个仓库根目录是完全安全的,不会和.git目录内的存储内容产生冲突,相关逻辑如下:
.gitattributes属于仓库级共享配置文件,放在仓库根目录时本身就属于需要提交到版本库的内容,所有拉取该仓库的用户都会自动应用文件内定义的行尾转换、diff规则、过滤器等配置,全程不需要修改.git目录下的任何文件- Git的属性配置优先级从高到低排序如下,规则不会出现混乱:
- 仓库内
.git/info/attributes:仅本地生效,不会被提交到版本库 - 仓库根目录的
.gitattributes:全仓库共享,随提交同步到所有协作者 - 全局用户配置
~/.gitattributes(可选配置):对当前系统用户的所有Git仓库生效
- 仓库内
- 只有两种情况会出现规则覆盖:
- 目标仓库原本存在
.gitattributes文件,你复制时直接覆盖了原有内容 - 你配置的规则和目标仓库本地的
.git/info/attributes规则重复,此时会优先应用本地.git/info/attributes的配置,你复制的文件对应规则不会生效
- 目标仓库原本存在
- 复制完成后可以执行
git check-attr --all <测试文件名>,即可查看对应文件实际生效的属性规则,确认符合预期后正常提交即可。
内容的提问来源于stack exchange,提问作者Aaron de Windt
相关产品推荐
相关产品推荐

