如何将多个仓库合并为单一仓库进行维护

3

我为每个微服务('A','B'等)都建立了一个代码库。代码库的结构如下:

A
|-dockerfile
|-src
  |-Java
  |-Groovy

所有这些仓库都属于一个名为“WholeProject”的项目,因此我希望维护一个名为“WholeProject”的仓库,其外观类似于:

WholeProject
|-docker-compose.yml
|-µS
  |-A
  |-B
  |-..

因此,我可以轻松地维护一个包含有关我的项目的所有相关信息的docker-compose文件和存储库。

这是一个好主意吗?我该如何实现它?


Submodules? - Siguza
1个回答

1
你可以考虑使用 git子模块 来进行以下操作:
cd /path/to/WholeProject
git submodule -- /url/to/repo/A µS/A
git submodule -- /url/to/repo/B µS/B

那样,您可以使用以下命令克隆WholeProject:

git clone --recursive

你会得到 AB 的最后记录的 SHA1 值。


谢谢!这很有效并回答了我的问题。但我想知道是否这是一个好主意,或者是否有其他更好的策略可用..? - DouglasAdams
@DouglasAdams 如果你想要一个单一的代码库,另一种选择是使用 subtree:http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/ https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/ (但如果 A 和 B 有不同的生命周期,即不同的分支和标签,则子模块更适合)。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接