我希望不要用一个您之前可能已经问过的问题来压倒您,但是在尝试了不同的解决方案之后,我没有获得好的结果。
基本上,我想要解决的问题如下:我在我的 GitHub 帐户中创建了一个存储库,现在我有三个解决方案,一个是 net-core 控制台应用程序,另一个是 mvcCore 应用程序,最后是一个 API。
我想将每个解决方案添加到我在 GitHub 上创建的存储库中,但要以有序的方式添加,也就是说每个解决方案都位于一个“子文件夹”中
如果您在各自的 GitHub 存储库中管理每个解决方案,那么您可以在公共父存储库(您最初创建的存储库)中将它们引用为 submodules。
您甚至可以声明这些子模块遵循它们自己的分支,这意味着简单的
git submodule update --init --remote
会将其内容更新为各自分支的最新提交。
我把VonC的答案当作事实,我正要开始白费力气地研究git子模块并尝试它们,但幸运的是我发现事实上,
Visual Studio 2022 将在单个 git 存储库下使用多个解决方案。
所以,假设我们曾经有这样的结构:
repos/
repo1/
.git/
.gitignore
solution1.sln
repo2/
.git/
.gitignore
solution2.sln
我们现在想要迁移到这样的结构:
monorepo/
.git/
.gitignore
solution1/
solution1.sln
solution2/
solution2.sln
通过这个新结构,我们希望能够做到以下几点:
以下是如何实现它。
.vs
目录。 (同样是因为 Visual Studio 缓存了其中的信息,这些信息可能不再正确。)就是这样,你做到了。
然后,您可以启动另一个 Visual Studio 实例,并打开相同的 monorepo,但选择不同的解决方案。
Visual Studio 任一实例的“Git Changes”选项卡现在将显示一棵树,该树从 monorepo 的根开始,并包含在该根下更改的所有文件,无论它们位于哪个解决方案中。