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