Git 存储库中的属性
Git attributes in the repository
在我发现的 gitattributes 中
*.tar filter=lfs diff=lfs merge=lfs -text
*.tar.gz filter=lfs diff=lfs merge=lfs -text
在 tar 行上面添加这些有什么用?
如果我们从存储库中删除这个 .gitattributes 会发生什么
这些属性指定 .tar
和 .tar.gz
文件将 运行 通过 Git LFS 作为污迹和清洁过滤器。当您使用 Git LFS 存储文件时,这些文件作为小指针文件存储在存储库中,实际文件内容由 Git LFS 处理。这意味着您的存储库不会因大型二进制文件而变得臃肿,并且只有在需要时 Git LFS 才会将二进制文件下载到您的系统中。
如果您删除此 .gitattributes
文件,那么任何已经使用 Git LFS 存储在存储库中的文件都将无法访问,因为您将只有指针文件。如果以后,您希望将这些对象作为 Git 个对象而不是 Git 个 LFS 对象存储在存储库中,您可以使用一个干净的工作树来做到这一点:
$ git rm .gitattributes
$ git add --renormalize .
$ git commit -m 'Remove use of Git LFS'
请注意,如果这些压缩包很大,那么您最终可能会在存储库中存储多个副本,这会使您的存储库膨胀。如果它们大于 100 MB,GitHub 将不再允许您推送您的存储库,并要求您在推送之前再次使用 Git LFS。
在我发现的 gitattributes 中
*.tar filter=lfs diff=lfs merge=lfs -text
*.tar.gz filter=lfs diff=lfs merge=lfs -text
在 tar 行上面添加这些有什么用?
如果我们从存储库中删除这个 .gitattributes 会发生什么
这些属性指定 .tar
和 .tar.gz
文件将 运行 通过 Git LFS 作为污迹和清洁过滤器。当您使用 Git LFS 存储文件时,这些文件作为小指针文件存储在存储库中,实际文件内容由 Git LFS 处理。这意味着您的存储库不会因大型二进制文件而变得臃肿,并且只有在需要时 Git LFS 才会将二进制文件下载到您的系统中。
如果您删除此 .gitattributes
文件,那么任何已经使用 Git LFS 存储在存储库中的文件都将无法访问,因为您将只有指针文件。如果以后,您希望将这些对象作为 Git 个对象而不是 Git 个 LFS 对象存储在存储库中,您可以使用一个干净的工作树来做到这一点:
$ git rm .gitattributes
$ git add --renormalize .
$ git commit -m 'Remove use of Git LFS'
请注意,如果这些压缩包很大,那么您最终可能会在存储库中存储多个副本,这会使您的存储库膨胀。如果它们大于 100 MB,GitHub 将不再允许您推送您的存储库,并要求您在推送之前再次使用 Git LFS。