删除Git lfs link 到文件,直接添加到git

Remove Git lfs link to file and add it to git directly

我需要删除一个 Git LFS 文件指针,并将文件直接添加到 Git。

我在 .git 属性中有一个过滤器来匹配某些文件:

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说没有那个文件

.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"