我们目前正试图试行从Git到SVN的过渡,以增加我们团队的生产和协作。
然而,我们正面临一些问题,包括传统和寻找目前适合我们的同行。我一直在阅读Git,但似乎无法找到具体的答案。
以下是一些问题:
我们的项目由几个子项目组成,每个子项目都是作为自己的项目构建的。我们如何使用Git管理这些子项目?我遇到的主要问题之一是切换分支时,我必须单独切换分支
我已经阅读了https://git.wiki.kernel.org/index.php/SubprojectSupport中提到的子项目支持,但我也读过git-svn不支持。
我们目前有多个SVN分支,每个分支代表一个版本。我们大多数人都在我们的工作区中检查了所有相关的分支(通常是2-3)。如果速度很快,那么切换分支可能没问题,但另一个问题是我们的构建路径和配置是否正确。等等(考虑到我们在开发阶段没有任何依赖管理系统,所有都是手动完成的)。有没有办法在Git中解决这个问题,或者通过在工作区中激活多个分支,还是通过快速切换?
我不确定是否会有任何具体的正确答案,但指向相关资源也会有所帮助。谢谢。
答案 0 :(得分:1)
您的问题相当广泛(或可能包含多个问题),但我会尝试一般性答案:
我们的项目由几个子项目组成,每个子项目都作为一个项目建成 它自己的。我们如何使用Git管理这些子项目?
通常你会把它们放在一个Git仓库中,每个仓库都在它的子目录中。您可以使用多个存储库,但这只有在项目是版本化,分支和独立发布时才有意义。分支总是在Git中的每个存储库中(与SVN不同,您在其中分支单个目录),因此经验法则是:什么是在repo上分支共享,分别分支的内容获得它自己的repo。
我们目前有多个SVN分支,每个分支代表一个版本。 我们大多数人都有我们的所有相关分支(通常2-3)签出 工作区。如果速度很快,那么切换分支可能没问题 问题是我们的构建路径和配置。等等(考虑我们 没有任何依赖管理系统在我们的水平 开发和所有都是手动完成的)。有办法四处走动吗? 这在Git中,要么允许多个分支活动在一个 工作区,还是通过快速切换?
你不能在一个工作目录中签出多个分支(这怎么会起作用?)。您可以创建多个克隆(每个克隆都有自己的工作目录),然后查看不同的分支。但是,我不确定这是否是最适合您的解决方案。
在git中切换分支非常快 - 基本上只是更改需要更改的文件所需的文件系统I / O的时间。
关于构建路径:如果在git中切换分支,路径不会改变,因为切换发生在工作目录中。
最后一点:看起来你应该真正研究某种依赖管理和工件管理。使用源代码完成所有这些操作非常容易出错且很困难。