将带有lfs的git存储库移动到另一台服务器而不移动lfs

问题描述 投票:0回答:2

我在 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

同样的结果

git github azure-devops git-lfs
2个回答
0
投票

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,请参阅链接供您参考。


0
投票

在存储库的根目录中创建一个

.lfsconfig
,然后添加

[lfs]
    url = https://link-to-the-repo-with-large-files

提交更改后,

git push -f
到 github

© www.soinside.com 2019 - 2024. All rights reserved.