涂抹错误:下载错误

Dan*_*Dev 12 git github git-lfs

我不确定这是否是讨论 git-lfs 的正确论坛,但由于我们有一个标签,我会发布我的问题。我已阅读“Bitbucket 中的 Git LFS 疑难解答”页面

运行时出现以下错误:

ssh-agent bash -c 'ssh-add /home/dan/.ssh/keyname;  git clone git@bitbucket.org:[repo name removed].git' 
Run Code Online (Sandbox Code Playgroud)

$ git-lfs smudge -- [文件名已删除].zip 下载对象时出错:[文件名已删除].zip([代码已删除]):涂抹错误:下载[文件名已删除].zip 时出错([代码已删除]):[[代码已删除]服务器上不存在对象:[404]服务器上不存在对象

[404] 服务器上不存在对象 github.com/git-lfs/git-lfs/errors.newWrappedError /tmp/docker_run/src/github.com/git-lfs/git-lfs/errors/types.go: 170:[[代码删除]]服务器上不存在对象github.com/git-lfs/git-lfs/errors.newWrappedError /tmp/docker_run/src/github.com/git-lfs/git-lfs/errors /types.go:170: 下载 [文件名已删除].zip ([代码已删除]) 时出错 github.com/git-lfs/git-lfs/errors.newWrappedError /tmp/docker_run/src/github.com/git-lfs /git-lfs/errors/types.go:170: 涂抹错误

有没有人有任何建议?

Dan*_*Dev 17

我最终通过 strich 找到了答案:在https://github.com/git-lfs/git-lfs/issues/911

我过去也遇到过类似的问题,我认为使用 git lfs 克隆可能存在潜在错误(仍有待确定)。您可以尝试这种获取 repo 的方法,它实际上也更快:

// Skip smudge - We'll download binary files later in a faster batch
git lfs install --skip-smudge

// Do git clone here
git clone ...

// Fetch all the binary files in the new clone 
git lfs pull

// Reinstate smudge
git lfs install --force 
Run Code Online (Sandbox Code Playgroud)

只需执行一次即可首次初始化克隆。

请测试它,如果它修复它,请告诉我。

  • 我不能说我解决了这个问题。最终我放弃了,因为我遇到了其他错误。 (2认同)
  • 直接链接到github答案 https://github.com/git-lfs/git-lfs/issues/911#issuecomment-169998792 (2认同)

小智 9

这种损坏可能是由于另一个开发人员错误配置了推送到存储库的 git-lfs,或者有时是由于推送期间的一些异常失败。尝试从工作树重新发送丢失的对象(使用其对象 ID):

git lfs push --object-id <remote> <oid>
Run Code Online (Sandbox Code Playgroud)

OID 应该在 Smudge 错误消息中。

  • 这适用于一个对象,但在我的项目中最终有数百个对象需要推送。为此,“git lfs push --all”上传了所有对象。 (6认同)