Git仓库迁移时出现LFS对象缺失错误如何解决?
解决Git仓库迁移时LFS对象缺失的报错问题
问题原因
使用git clone --mirror克隆仓库时,默认不会拉取Git LFS管理的大文件对象,导致推送至新仓库时,远端(如GitLab)检测不到LFS对象,触发报错。
解决方案
有两种可行的处理方式,任选其一即可:
方式一:重新克隆并同步LFS对象
- 删除之前通过
--mirror克隆的仓库目录 - 使用带LFS参数的镜像克隆命令拉取原仓库:
git clone --mirror --lfs <原仓库URL> - 进入克隆后的仓库目录,修改远端地址:
git remote set-url origin <新仓库URL> - 优先推送所有LFS对象到新远端:
git lfs push --all origin - 最后推送仓库镜像:
git push --mirror
方式二:在现有镜像仓库中补全LFS对象
- 进入已克隆的镜像仓库目录
- 初始化Git LFS(若未初始化):
git lfs install - 拉取原仓库所有LFS对象:
git lfs fetch --all - 推送所有LFS对象到新远端:
git lfs push --all origin - 重新执行镜像推送:
git push --mirror
注意事项
- 确保新仓库已开启LFS支持(GitLab默认启用,若手动关闭需在仓库设置中重新开启)
- 可通过
git lfs track命令查看原仓库的LFS跟踪规则,确保新仓库的跟踪规则与原仓库一致
内容的提问来源于stack exchange,提问作者Sourabh
相关产品推荐
相关产品推荐

