1目录中的Git子模块

时间:2012-01-27 18:09:07

标签: git git-submodules

我正在为一个开源软件开发几个扩展。每个扩展都有通过我正在编写的软件的文件树分发的文件。最初,我为其中一个扩展创建了一个Git项目,该项目运行良好。现在,我需要为其他扩展创建Git repo,但无法弄清楚如何做到这一点。如果我只是尝试将项目克隆到我的根工作区,这将覆盖我的第一个Git仓库。

基于研究,我认为这可以使用子模块完成,但是,对子模块的所有引用似乎都将每个模块放在不同的目录中。

我的问题是,是否可以使用子模块将几个Git项目全部放在1个目录中?

2 个答案:

答案 0 :(得分:0)

没有。子模块不应用于叠加回购。

执行此操作的典型方法是为各个扩展创建不同的分支,然后将每个分支合并到表示所有扩展的聚合的主分支中。

答案 1 :(得分:0)

我想办法如何做到这一点如下:

将项目克隆到根目录中。一旦它工作,将.git文件重命名为.git-%s,其中%s表示代表项目名称的2个字符。然后我将另一个repo克隆到root中并做同样的事情。在为所有项目执行此操作后,我的根目录中包含以下4 .git文件:

根 - .gitwp - .gitbp - .gitas - .gitwps

我现在可以同时处理所有项目。如果我想对特定仓库进行更改,请执行以下操作:

mv .gitwp .git git commit -m“提交消息” mv .git .gitwp

我希望这有助于某人!