删除Git lfs链接到文件,并将其直接添加到git

时间:2019-12-06 09:38:54

标签: git git-lfs gitattributes

我需要删除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说没有这样的文件

1 个答案:

答案 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"