从SVN过渡到Git(git-svn,工作区中的多个分支,没有依赖关系管理)!

时间:2014-08-13 13:00:03

标签: java git svn

我们目前正试图试行从Git到SVN的过渡,以增加我们团队的生产和协作。

然而,我们正面临一些问题,包括传统和寻找目前适合我们的同行。我一直在阅读Git,但似乎无法找到具体的答案。

以下是一些问题:

  1. 我们的项目由几个子项目组成,每个子项目都是作为自己的项目构建的。我们如何使用Git管理这些子项目?我遇到的主要问题之一是切换分支时,我必须单独切换分支

    我已经阅读了https://git.wiki.kernel.org/index.php/SubprojectSupport中提到的子项目支持,但我也读过git-svn不支持。

  2. 我们目前有多个SVN分支,每个分支代表一个版本。我们大多数人都在我们的工作区中检查了所有相关的分支(通常是2-3)。如果速度很快,那么切换分支可能没问题,但另一个问题是我们的构建路径和配置是否正确。等等(考虑到我们在开发阶段没有任何依赖管理系统,所有都是手动完成的)。有没有办法在Git中解决这个问题,或者通过在工作区中激活多个分支,还是通过快速切换?

  3. 我不确定是否会有任何具体的正确答案,但指向相关资源也会有所帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题相当广泛(或可能包含多个问题),但我会尝试一般性答案:

  

我们的项目由几个子项目组成,每个子项目都作为一个项目建成   它自己的。我们如何使用Git管理这些子项目?

通常你会把它们放在一个Git仓库中,每个仓库都在它的子目录中。您可以使用多个存储库,但这只有在项目是版本化,分支和独立发布时才有意义。分支总是在Git中的每个存储库中(与SVN不同,您在其中分支单个目录),因此经验法则是:什么是在repo上分支共享,分别分支的内容获得它自己的repo。

  

我们目前有多个SVN分支,每个分支代表一个版本。   我们大多数人都有我们的所有相关分支(通常2-3)签出   工作区。如果速度很快,那么切换分支可能没问题   问题是我们的构建路径和配置。等等(考虑我们   没有任何依赖管理系统在我们的水平   开发和所有都是手动完成的)。有办法四处走动吗?   这在Git中,要么允许多个分支活动在一个   工作区,还是通过快速切换?

你不能在一个工作目录中签出多个分支(这怎么会起作用?)。您可以创建多个克隆(每个克隆都有自己的工作目录),然后查看不同的分支。但是,我不确定这是否是最适合您的解决方案。

在git中切换分支非常快 - 基本上只是更改需要更改的文件所需的文件系统I / O的时间。

关于构建路径:如果在git中切换分支,路径不会改变,因为切换发生在工作目录中。

最后一点:看起来你应该真正研究某种依赖管理和工件管理。使用源代码完成所有这些操作非常容易出错且很困难。