尝试使用 git LFS 同步 zip 文件,说我不在 space

Trying to sync zip file using git LFS, says I'm out of space

我有一个大约 600MB 的 zip 文件。我有使用 LFS 进行跟踪的文件设置。 zip 经常更改,所以我需要经常在远程仓库中更新它。

如果我的 LFS 存储为空,我可以毫无问题地将文件推送到 LFS。但是,如果文件已存在于 LFS 中,当我尝试推送它时,我会收到错误消息:“您的 LFS 推送失败,因为您的文件存储空间不足”。更新后的文件仍然不超过 600MB。我对 Bitbucket 有 1 GB 的限制。

我的假设是,如果文件发生更改,每次推送都会在远程更新该文件。然而,这显然不是真的。为了将文件推送到远程,我必须手动登录到 Bitbucket 并从 LFS 中删除文件,以便推送更新版本。

我假设我没有做正确的事情,不需要手动删除我的 LFS 来将更改推送到远程。我显然严重误解了如何使用 git LFS。

如果该主题已经存在,我深表歉意。我发誓我试过寻找它。

难道是LFS在删除前一个大文件之前尝试上传新版本的大文件?如果是这种情况,您至少需要 1.2GB 才能更新 600MB 的文件。

要测试它,您可以尝试使用较小的测试版本的 zip 文件(大约 300MB)。如果您能够更新它并登录 Bitbucket,您会发现以前的版本不再存在,您知道问题出在您的 1GB 限制上。

对于任何对象存储(zip 文件、blob 等),都会上传整个文件并创建一个指针来跟踪最新版本。如果 blob 大小超过您分配的配额,您将面临 space 问题,因为同一 blob(几乎相同大小)的 2 个不同版本实际上会使 space 使用量增加一倍。