哪个是处理从SVN进行Git切换的多个项目的最佳方法?

问题描述 投票:1回答:1

我们正在考虑将公司中的所有项目从SVN切换到Git,但恐怕这将成为一个问题。

这是SVN中的当前情况

我有一个主要项目(我们称之为Project0)作为起点。然后,我有100多个项目(我将其称为ProjectA,ProjectB,.... ProjectZ),并且每个项目都与一个客户相关联。

[所有ProjectsA-Z在其修订历史记录的某个时刻被创建为Project0的一个分支。从Project0开始创建新的ProjectX之后,将在ProjectX中提交针对特定客户的所有自定义。

一直有一些提交从ProjectX合并到Project0,有时又有一些提交从Project0合并到ProjectX。

公司的每个开发人员通常只在几个项目上工作(例如,在ProjectsA,ProjectB和Project0上,因此不需要下载所有项目即可在他的工作站上工作。

关于Git的问题

我在Git上看到的问题是,我们需要为Project0创建一个单一的存储库,然后将所有其他ProjectsA-Z作为Project0的分支。这是一个问题,因为出于我的不了解,即使我需要使用ProjectX,也需要下载整个存储库(包含所有Project0和ProjectsA-Z),该存储库可能非常大。

是否有其他方法可以在Git中组织工作流程,以便能够执行我们现在正在做的相同的事情?一种方法是为每个Project A-Z创建一个新的存储库,但是后来我没有找到一种简单的方法来合并来自或到Project0的单个提交。

git svn git-svn
1个回答
0
投票

您的理解基本上是正确的。但是,除非您存储大的二进制blob,否则git的空间效率非常高,您担心的可能不会成为问题。对于每个项目,只需传输和存储该项目相对于基础项目的修改,甚至可以有效地压缩这些修改。

如果您要存储并经常修改许多或巨大的二进制blob,则可能会成为问题。在这种情况下,您可以更改客户端的fetch config,以便它们仅获取所需的分支而不是所有分支,但是如果您只是从git开始,则可能会涉及到一点。]

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