2011-01-06 51 views
6

有1个主项目的回报率和2个额外的项目共享主体工程的某些部分 - 模型,插件等组织多个项目的git仓库的好方法

目前所有项目都在使用svn的外部相同的svn库共享部分。

将这种布局移动到git的最佳方式是什么?

回答

3

您将需要每个部件的存储库。 (每个项目和一个或多个共享部分)。

要包含这些共享部分,有两种可能性。

首先,您可以为共享零件创建(私有)gem,这意味着您不需要链接任何东西,只需将gem [gemname]添加到您的Gemfile。当您更新宝石时,所有项目都将使用更改后的代码。

当你想在你的项目中包含外部代码时,你需要一点点的组织。您可以创建一个根映射,您可以将共享和项目存储库都复制到该映射。然后,您创建一个(相对)符号链接到共享代码文件夹。您可以将此符号链接添加到您的git存储库并提交。您必须更新并提交两个存储库分开。

第二种方法的一个例子:

- projectfolder 
--- shared code 
--- project code 
----- lib 
------- shared (link to shared code) 

由命令LN -s “../../../shared代码” 共享创建共享代码的链接

当然,这只适用于支持符号链接的系统(mac和* nix)

2

即使我接受第一个答案,我们选择了一个不同的方法。由于基本上所有的应用程序都是1个项目(前端,后端和api)的不同方面,所以他们共享一个LOT,因此我们决定将它们全部放入1个存储库和符号链接共享部分(git可以处理该部分)。

这简化了存储库的组织,但稍微复杂了部署脚本,这对我们来说是合适的。