删除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"
我需要删除一个 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"