我目前正在尝试提出一种版本控制策略,用于将我们公司的代码和文档文件从集中式 SCM (Perforce) 移动到 Git。Perforce 中的内容只是一个存储所有项目的大型 Depot,出于多种原因,我想将其分解为多个较小的 Git 存储库。
我现在遇到的问题是如何索引所有这些存储库,以便轻松找到它们。据我所知,Git 没有任何用于管理多个存储库的内置工具。
我确实找到了git-submodule,但听起来那是为了创建一个包含其他存储库内容的存储库,我不想管理各种存储库的内容,而是管理存储库本身。
最初我正在考虑在我们的服务器上使用平面文件系统:
/repos
-repo1.git
-repo2.git
-...
-repoN.git
然后只是一个 git 命令来查询这个目录的所有存储库名称和关于内容的评论(有点像登录到服务器,进入/repos
目录并运行 a git log
)。我在想我可以让/repo
自己成为一个git
存储库(一个存储库的存储库),然后完全按照我刚才所说的去做,但这似乎是...... un-git-y。
所以我的问题是:
- 我是否缺少任何
git
用于管理这样的多个存储库的内置工具/功能? - 我的想法是否正确,这
git-submodule
不是我想要帮助管理这个的? - 对于这种类型的设置,您有什么好的策略吗?