我正在尝试将 git LFS 与二进制文件(大小为 200 MB)一起使用。
我想我第一次添加它时搞砸了,所以它是由 git 跟踪的,而不是用 git LFS 跟踪的。
然后我根本无法让 git 使用 LFS 来跟踪它。
我已经丢弃了在没有 LFS 的情况下跟踪文件的提交 (
git reset --hard <commit_id>
),并强制将其推送到远程,同时也删除了推送的提交。git lfs status
总是显示它不会被LFS跟踪。 (我尝试改变添加 .gitattributes 文件的顺序,将二进制文件复制到存储库中,git 添加文件等。我尝试先提交 .gitattributes,然后提交二进制文件,..)binary (LFS: e3b0c44)
。但是当我将二进制文件内容复制到该文件中时,git lfs status
显示:binary (LFS: e3b0c44 -> Git: 8a43985)
。这意味着如果我提交它,它不会用 LFS 推送它,对吗?Git:
之后有不同的哈希值。
一直以来,文件名都根据 .gitattributes 通过 LFS 进行跟踪。
文件名中有点顺便说一句:
git lfs track "tensorflow-2.13.0-cp310-cp310-linux_x86_64.whl"
。但这不是问题,空版本被LFS跟踪了。
编辑
我又做了一个分支,修改了文件,用LFS上传成功。从那时起,在原始分支上,当我修改二进制文件并执行
git lfs status
时,我得到文件的不同输出:LFS: <hash> -> File: <other hash>
。注意 File
而不是 Git
。不知道发生了什么。
您是否尝试通过 Git 取消跟踪?
git rm --cached **/*.xlsx
git add .
再次追踪之前通过
git lfs track "**/*.xlsx"
像这样的东西
https://github.com/git-lfs/git-lfs/issues/3421#issuecomment-446074602