如何在git repo中组织项目的不同部分?

时间:2013-07-26 07:07:41

标签: git

在一个项目中,我必须组织项目的多个部分。用php编写的web应用程序,用nodejs和android和ios应用程序编写的api服务器。将这些分成多个回购是否是个好主意?或者在单个git仓库中单独的文件夹?

3 个答案:

答案 0 :(得分:3)

如果单个模块是合理独立的,您可以使用git子模块来混合这两种方法。你最终会得到一个文件夹/ repo,其中你有一个每个子项目的文件夹。每个子项目都是一个单独的存储库,可以这样使用,但您可以从根存储库跟踪每个项目的版本,并向子模块发出“联合”命令,如

git submodule update

或“递归”命令,如

git submodule foreach make

您可以在线找到documentation和某种tutorial

以下是设置包含多个子模块(ncs,...,test_network)的存储库的示例

git init
git submodule add ssh://.../ncs
...
git submodule add ssh://.../test_network
vim Makefile #write the Makefile for the whole project
git add Makefile
git commit -i -m "Makefile added"
git submodule foreach autoreconf -i
git submodule foreach ./configure
make test

答案 1 :(得分:2)

如果您打算重复使用这些单独的“项目”,则应使用git子模块。但是,如果你不这样做,我只需将它们分成一个独特的git下的不同文件夹。

git子模块非常适合可以“克隆”并在任何其他(更大)项目中保持最新的项目。

请注意,在处理子模块时会添加一些复杂性层。

答案 2 :(得分:0)

我会将这些作为单独的项目。如果你需要组合git repos,你总是可以使用git submodules