2017-10-15 133 views
1

我们正在将GIT合并到我们的项目中,现在我们正在使用SVN作为版本控制工具。我们的SVN项目存储库包含大约30个活动分支,并尝试迁移到GIT,每个分支大小为6 GB。GIT处理大量分支

正如我们所知,GIT克隆命令会从所有分支下载文件,在我们的例子中它是30 * 6 = 180 GB。我们无法下载180 GB并开始工作,那么我们可以做些什么来实现这一点。

任何帮助表示赞赏。

回答

1

希望您可以从您的迁移中删除任何二进制文件(意思是ignoring any path,包括您可以从代码重新生成的元素)。

或者,你就需要在其他地方引用这些大要素,使用Git-LFS

Git的大文件存储(LFS)取代大的文件,如音频采样,视频,数据集,并与内文本指针图形Git,同时将文件内容存储在远程服务器(如GitHub.com或GitHub Enterprise)上。

GitHub支持Git-LFS,因为他们首先提出了这个问题。

+0

感谢您的帮助VonC。即使我们将一些罐子战和其他二进制文件移动到某个存储库并通过maven进行引用。我可以在每个分支中减少大约3 GB,但仍然以30 * 3 = 90 GB结束。因为我们需要所有30个分支机构,因为很多团队都在不同的分支上工作 – Akshobhya

+0

@Akshobhya * one *项目需要的文件量,还是代表多个不同的项目,每个项目都有自己的历史记录? – VonC

+0

这些文件是一个项目所需要的,因为我们在项目中有几个模块,并且每个模块都相互依赖 – Akshobhya

2

git(尽可能多的来源控制工具)被设计为主要包含文本文件。它的“差异”机制对于二进制文件并不适用,并且实际上存储库大小可能会爆炸。

由于显然6GB不是文字,我建议重新考虑这个选择。

此外,如果您的分支机构如此不同,也许您应该将它们分成独立的存储库。