有什么方法可以让 git-lfs 不为不在 repo 中的文件下载对象?
Any way to make git-lfs not download objects for files not in repo?
我有一个 git-lfs 对象,一年前从我们的 git 存储库中删除了。当我们克隆时,它仍然会下载 LFS 对象,以防有人需要回到历史上的那个版本。问题是:该文件是一个可执行文件,并且正在触发 Windows defender 进行克隆操作。如果我们将环境设置为跳过 smudge 然后执行 git lfs pull 那么问题就会消失,但是下载不太可能需要的 LFS 对象似乎很浪费。
有没有办法:
a) 从 LFS 服务器删除对象并 git 克隆仍然成功但只是忽略文件?
b) 告诉 git 不要为特定的提交哈希、对象、日期、文件名或其他排除某些对象的方式下载 lfs 对象?
默认情况下,Git LFS 仅下载检出存储库所需的文件。之所以如此,是因为 Git 将指针文件传递给 Git LFS,然后 LFS 生成要下载的对象列表并下载它们。 Git 除非您要求,否则 LFS 通常不会为其他修订预取文件。
如果 Git LFS 正在下载这个对象,而你没有用 git lfs fetch
或 git lfs pull
明确要求它,那么它可能仍在你的工作树中的某处被引用。
请注意,如果您删除该文件,将在签出该修订版时导致错误,因此您不希望这样做。您可以使用文档中提到的 lfs.fetchexclude
配置选项来排除某些文件,但是找到引用文件的位置并确保它已经消失可能会更容易。
我有一个 git-lfs 对象,一年前从我们的 git 存储库中删除了。当我们克隆时,它仍然会下载 LFS 对象,以防有人需要回到历史上的那个版本。问题是:该文件是一个可执行文件,并且正在触发 Windows defender 进行克隆操作。如果我们将环境设置为跳过 smudge 然后执行 git lfs pull 那么问题就会消失,但是下载不太可能需要的 LFS 对象似乎很浪费。
有没有办法:
a) 从 LFS 服务器删除对象并 git 克隆仍然成功但只是忽略文件?
b) 告诉 git 不要为特定的提交哈希、对象、日期、文件名或其他排除某些对象的方式下载 lfs 对象?
默认情况下,Git LFS 仅下载检出存储库所需的文件。之所以如此,是因为 Git 将指针文件传递给 Git LFS,然后 LFS 生成要下载的对象列表并下载它们。 Git 除非您要求,否则 LFS 通常不会为其他修订预取文件。
如果 Git LFS 正在下载这个对象,而你没有用 git lfs fetch
或 git lfs pull
明确要求它,那么它可能仍在你的工作树中的某处被引用。
请注意,如果您删除该文件,将在签出该修订版时导致错误,因此您不希望这样做。您可以使用文档中提到的 lfs.fetchexclude
配置选项来排除某些文件,但是找到引用文件的位置并确保它已经消失可能会更容易。