2012-07-21 25 views
2

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

这是我通常会添加远程

git remote add origin ssh://[email protected]:2227/usr/local/git_root/foo_project.git 

会是这样的工作

git remote add origin ssh://[email protected]:2227/usr/local/git_root/foo_project.git/A 

回答

0

使用子模块:

  • 为每个模块创建一个存储库/项目
  • 创建为主营项目的存储库将包含这些
  • 项目添加模块/到主存储库作为子模块:
    git submodule add ssh://[email protected]:2227/module1 module1/
0

你会做它周围的其他方法。 Git仓库非常便宜,所以如果不直接相互依赖,通常会为每个子项目创建一个新仓库。这也使得更清晰的历史,因为当一个人在项目A上工作时,他不参与在项目B中发生的所有变化。

所以,你可能会做这样的:

ssh://[email protected]:2227/usr/local/git_root/foo_project/a.git 
ssh://[email protected]:2227/usr/local/git_root/foo_project/b.git 

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