首页 > 解决方案 > Git LFS 缺少文件

问题描述

我的公司有一个支持 LFS 的 Git 存储库。

LFS 是在我加入之前建立的。

我相信设置它的人没有告诉其他人。因此,随着时间的推移,到处都会丢失 LFS 对象。

这把它带到了今天。

我的任务是将当前的回购移动到一个新的回购。但是,当我尝试获取和推送 LFS 对象时,缺少 LFS 对象。没有人知道那些在哪里了。

现在我不在乎新仓库中的 LFS。

无论如何我可以在没有 LFS 的情况下将我当前的 repo 迁移到新的 repo 吗?

我希望移动实际文件,而不是 LFS 指针。

标签: gitgit-lfs

解决方案


我有同样的问题。

我的方法是通过BFG清理 repo,然后将干净的 repo 推送到新服务器。

这里有一个例子:

git clone --mirror git://some-server.com/some-dirty-repo.git
java -jar bfg.jar --delete-files /some-dirty-path/some-dirty-files-pattern

cd some-dirty-repo.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive

git push

请告诉我它是否也对你有用。


推荐阅读