我正在将现有的存储库迁移到 git lfs,似乎我设法创造了一场完美的风暴。
目前有两台机器:A和B。
机器 A 缺少文件 X 的内容。调用git lfs fetch --all origin
. 机器 B 缺少文件 Y 的内容。
我尝试调用git lfs push --all origin
两者。它在机器 A 上不起作用,因为它没有文件 X。它在机器 B 上不起作用,因为它没有文件 Y。
我怎么可能解决这种情况。我不知道这是怎么发生的,甚至可能发生。
git lfs push
在其中一台机器上的输出:
Git LFS: (0 of 982 files, 1300 skipped) 0 B / 1.73 GB, 1.09 GB skipped
d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006 does not
exist in .git/lfs/objects. Tried
Assets/weapons/models/at_mine/textures/1k/at_mine__normal_1k.bmp, which
matches d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006.
git lfs fetch
在其中一台机器上的输出:
git lfs fetch --all
Scanning for all objects ever referenced...
* 2319 objects found
Fetching objects...
Git LFS: (207 of 207 files, 722 skipped) 524.01 MB / 524.51 MB, 870.82 MB
skipped
[d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006] Object
does not exist on the server: [404] Object does not exist on the server
[df1dbb12f35f5392c157beebbc3613f70993c691a68f4cc65033ade528de3418] Object
does not exist on the server: [404] Object does not exist on the server
[edaf4f6721fb14ce4d38d3adddc86aaaf6fbf0c7db11da451022a4f74af97f30] Object does not exist on the server: [404] Object does not exist on the server
... and so on and so on
我正在使用 bfg repo 清洁器执行到 LFS 的迁移。
** 编辑 **
我执行的步骤:
- 以旧形式(从转换之前)到机器 A 的整个 repo 的 Git 克隆。
- 我在机器 A 上运行 BFG,它基本上重写了主分支的历史(没有其他分支远程保存)。
- 我
git push origin master --force
按照你应该用新版本的 master 替换旧版本的 master 来运行。 - 我
git fetch
在机器 B 上运行以获取所有文件。 - 机器 B 上有一些提交,在 master 中尚未发送到服务器 - 因为它们会导致 repo 超出配额。因此,我运行
git rebase --onto origin/master HEAD~3 HEAD
将未发送的新提交移动到新版本的 master。 - 我
git push origin master
在机器 B 上运行。
这就是我现在的位置。