我需要删除Git LFS文件指针,并将文件直接添加到Git。
我在.gitattributes中有一个过滤器来匹配某些文件:
test/**/*.py filter=lfs diff=lfs merge=lfs -text
如何修改它以从该模式中排除1个文件?
我尝试过这样的事情:
test/**/*.py !test/my_dir/my_file.py filter=lfs diff=lfs merge=lfs -text
但是它似乎不起作用... git说没有这样的文件
答案 0 :(得分:1)
.gitattributes
文件的工作方式与.gitignore
文件有关的优先级类似,但是语法不同。我在任何地方都找不到此文档,但是我已经在本地和GitHub上对其进行了测试。
在为lfs添加模式之后,您只需在其后添加异常,即可使您的.gitattributes
文件如下所示:
test/**/*.py filter=lfs diff=lfs merge=lfs -text
test/my_dir/my_file.py filter= diff= merge= text
然后提交您的.gitattributes
文件。
这将关闭该文件的lfs过滤器,以后lfs将不会对其进行跟踪。如果文件已添加到存储库中,请从存储库中将其删除并重新添加。
$ git rm --cached test/my_dir/my_file.py
$ git add test/my_dir/my_file.py
$ git commit -m "File removed from lfs"