.gitignore由.gitattributes声明的所有二进制文件



如果.gitignore让我们定义一个基本上是ignore all files considered as binary files的模式会怎样?我的意思是不添加每个模式,因为行太多了,而是像binary一样,类似于.gitattributes

基本上我想要:

  • 默认情况下忽略所有文件,这些文件被视为binary,由git自动检测,由.gitattributes指定
  • 只允许特定的二进制文件,方法是像往常一样使用.gitignore显式地允许它们

我还没有发现任何迹象表明这样的事情是可能的。有人知道更多吗?

这是不可能的。

如gitignore文档中所述

gitignore文件中的每一行都指定一个模式。在决定是否忽略路径时,Git通常会检查来自多个来源的gitignore模式,优先级顺序如下,从高到低(在一个优先级级别内,最后匹配的模式决定结果(

因此,不可能按文件的类型忽略文件


解决方法可以是定义一个预提交脚本,该脚本检查提交中是否有二进制文件,并使用非零代码退出,这样当提交中存在二进制文件时,您就无法提交。

您可以使用以下命令检查提交中的每个文件,看看它是否是二进制文件

file --mime <commit-file> | grep binary

相关内容

  • 没有找到相关文章

最新更新