Git远程有多个子项目

时间:2012-07-21 10:19:10

标签: git

我有一组足够相关的项目/模块,我希望它们位于同一个存储库中,但它们在我的机器上本地存在多个目录。有没有办法可以将它们添加为远程存储库中的子目录?

这就是我通常会添加远程

的方法
git remote add origin ssh://git@example.com:2227/usr/local/git_root/foo_project.git

会像这样的工作

git remote add origin ssh://git@example.com:2227/usr/local/git_root/foo_project.git/A

2 个答案:

答案 0 :(得分:0)

你会反过来做。 Git存储库非常便宜,因此如果每个子项目不直接相互依赖,通常会为每个子项目创建一个新的存储库。这也使得历史更清晰,因为当一个人正在处理项目 A 时,他没有参与项目 B 中发生的所有更改。

所以,你可能会这样做:

ssh://git@example.com:2227/usr/local/git_root/foo_project/a.git
ssh://git@example.com:2227/usr/local/git_root/foo_project/b.git

如果你有一个“master”项目应该将它们全部链接起来,那么子模块是个不错的选择。您将设置主项目并为每个子项目添加子模块。这样您就可以在主项目中包含完整的项目,但仍然可以在子项目中独立工作。

答案 1 :(得分:0)

使用子模块:

  • 为每个模块/项目创建存储库
  • 为包含它们的主项目创建存储库
  • 将模块/项目作为子模块添加到主存储库:
    git submodule add ssh://git@example.com:2227/module1 module1/