为什么我的git过滤器没有被调用?

为什么我的git过滤器没有被调用?,git,git-filter,Git,Git Filter,我在~/repositories/foo的一个新的git repo中。我的.git属性如下所示: *.txt mycrypt [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [filter "mycrypt"] clean

我在~/repositories/foo的一个新的git repo中。我的.git属性如下所示:

*.txt   mycrypt
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[filter "mycrypt"]
    clean = tee /Users/matthew/temp/mycrypt.before.txt | openssl enc -base64 -pass pass:secret | tee /Users/matthew/temp/mycrypt.after.txt
My.git/config如下所示:

*.txt   mycrypt
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[filter "mycrypt"]
    clean = tee /Users/matthew/temp/mycrypt.before.txt | openssl enc -base64 -pass pass:secret | tee /Users/matthew/temp/mycrypt.after.txt
我执行以下操作,但我的筛选器从未被调用(当我列出directory~/temp时,我没有看到任何mycrypt.*文件)。为什么?


您缺少的第一件事是应用过滤器。在
.gittributes
中,而不是:

*.txt   mycrypt
你想要:

*.txt   filter=mycrypt