git lfs只推送占位符文件

时间:2018-03-28 15:03:41

标签: git git-lfs

我尝试使用现有的git-lfs存储库并将其推送到辅助远程。在辅助远程上,LFS文件似乎被推送,好像git-lfs的'占位符'文件(具有三行的文本文件:version,oid,size)是真实文件。尝试克隆辅助遥控器也失败了:Smudge error: Error downloading ... Object does not exist on the server

辅助遥控器具有其他正确存储的LFS文件。有问题的文件也正确存储在repo的'primary'遥控器上,并存储在我的本地存储库中(意思是:我看到的是实际文件,而不是占位符)。

我不确定这是怎么回事/为什么会发生这种情况(git lfs在我的本地仓库中初始化,推送钩子已经安装到我可以告诉的程度),但是我想推送实际的文件。我怎么能这样做?

我已经尝试git lfs push --all secondary-remote branch-namegit lfs push secondary-remote --object-id "abc123",但似乎都没有任何效果(它们都打印了“上传LFS对象:100%...”消息,但文件仍然没有' t出现在遥控器上。

编辑:一位同事做了一个git lfs pull和一个git lfs push,似乎解决了问题。我不太确定为什么,因为我的本地仓库已经检查了实际的二进制文件。

1 个答案:

答案 0 :(得分:1)

在我在那里安装git lfs之前,将LFS文件下载到我的仓库中时遇到了同样的问题。安装后,文件仅包含链接。

就像我在跑步时对问题的编辑一样

git lfs pull
git lfs push  

installing git lfs之后文件已更新。

(不知道这是否是完整的答案,但这是我找到的唯一解决此问题的地方。也许对更多人有帮助。)