我们有一个巨大的SVN存储库(~100GB),我们正试图迁移到Git。问题是,repo包含许多遍布文件夹树的二进制文件。
我们想到的第一件事是将二进制文件移动到Git-LFS,但是我们需要解决一些问题:
谢谢
我想我已经找到了答案,虽然还没有完成自己的测试(第一步需要很长时间才能完成我们的存储库)。诀窍来自这个Atlassian文档:
https://confluence.atlassian.com/bitbucket/use-bfg-to-migrate-a-repo-to-git-lfs-834233484.html
这是特定于bitbucket,但我想它可以适用于任何git存储库。
第1步:第一步是将SVN项目转换为git。这可以使用git-svn
完成,如下所述:
https://john.albin.net/git/convert-subversion-to-git
该页面还描述了如何移植作者并添加git作者允许的额外细节(真实姓名和电子邮件)。
第2步:现在按照上述Atlassian文档中的说明使用“BFG Repo-Cleaner”替换历史记录中的所有“大文件”,并引用git LFS。这是一个更简单的工具,可以使用git-filter-branch
工具完成一些事情。
我可以在这里给出逐步说明,但我只是从其他来源复制,而我自己还没有尝试过(现在运行)。当我在这里看到结果时,我会再次更新。
编辑:当我差不多两年前完成测试时,我忘了更新这个,现在注意到因为我有一个upvote。从我记忆中,我结束使用git lfs migrate
而不是BFG将大文件从repo迁移到git LFS。 (https://github.com/git-lfs/git-lfs/wiki/Tutorial)