将多个项目合并为一个解决方案,同时保留 git 历史记录

时间:2021-03-20 15:24:16

标签: git visual-studio solution

我有多个项目(解决方案),每个项目都有一个单独的 git repo 设置。

我打算将这些项目合并为一个解决方案以简化构建和分发,因为所有项目都是相同的数据库解决方案。架构如下

项目 A(存储库 A):

  • “A”解决方案
  • 数据库库解决方案*
  • Wix 安装程序解决方案
  • Wix 捆绑解决方案

项目 B(回购 B):

  • “B”解决方案
  • 数据库库解决方案*
  • Wix 安装程序解决方案
  • Wix 捆绑解决方案

*(数据库库解决方案在两个项目中完全相同,但每次对其进行更改时,我们都需要将更改复制粘贴到另一个项目中)

为了简化和统一开发环境,我想如下:

主项目:

  • 解决方案 A
    • A 的 Wix 安装程序和捆绑包
  • 解决方案 B
    • B 的 Wix 安装程序和捆绑包
  • 数据库库解决方案

我如何通过将项目统一为具有全新 git 存储库的单个解决方案,同时保留解决方案 A 和 B git 历史记录来实现这一结果?

1 个答案:

答案 0 :(得分:0)

您可以使用 git 子模块来实现这一点。创建主 git repo 并通过添加 .gitmodules 文件来添加所需的 git repos 和 git 子模块,例如:

[submodule "module1"]
    path = /path/module1
    url = https://github.com/user/module1
[submodule "module2"]
    path = /path/module2
    url = https://github.com/user/module2

你可以阅读关于 git submodules here

相关问题