在为 smudge & clean 编写 git 过滤器时,我想确保过滤器只作用于文本文件而不是二进制文件(图像等)。
git 有没有办法告诉我它是否认为文件是二进制文件?我可以自己测试该文件,但我不相信我将始终得到与 git 相同的结果。
一种便宜的方法是使用文件扩展名:
如果您在.gitattributes
文件中声明涂抹/清洁脚本,则可以根据文件名模式将其关联到某个文件列表/文件组。
您可以为特定路径设置过滤器,然后设置将在文件签出之前处理文件的脚本
另外,在同一个.gitattributes
文件中,您可以告诉 git 哪些文件是二进制文件。
简而言之,它是一个声明性过程。