我在 Azure DevOps 上有一个 git 存储库,在 Artifactory 上有 LFS。 我想将存储库移至 GitHub,而不触及 LFS。 我不断收到的错误是:
您的推送引用了至少 240 个未知的 Git LFS 对象:
我检查了一下,所有的物体都在那里...... 我尝试过的:
git clone <azure devops repo>
git lfs fetch --all origin
git remote add new-origin <github repo>
git lfs push new-origin --all
git push -u new-origin --all --force
git lfs 推送确实有效并报告 100% 240/240 所以我不明白为什么 GitHub 拒绝推送 我也试过了
git push --mirror new-origin
同样的结果
GitHub 拒绝您的推送的一个可能原因是 Artifactory 中缺少某些 LFS 对象,或者 GitHub 无法访问它们。您可以通过在本地存储库上运行以下命令进行检查:
git lfs ls-files
将输出与 Artifactory 中存储的 LFS 对象进行比较。使用命令
git add --renormalize path/to/file
进行修复。详情请参阅链接。
另一个可能的原因是您对源服务器和目标服务器使用不同的 LFS 端点。将 LFS 对象推送到 GitHub 时,这可能会导致冲突。尝试命令:
git config --list | grep lfs
并检查lfs.url,请参阅链接供您参考。
在存储库的根目录中创建一个
.lfsconfig
,然后添加
[lfs]
url = https://link-to-the-repo-with-large-files
提交更改后,
git push -f
到 github