我正在研究分散在多个 Git 存储库上的解决方案。
每个项目都有自己的 Git 存储库,并且有一个工具可以使用所需的工作区构建工作区并生成解决方案文件。这就是我公司的工作框架。
例如:
<root>
├─── solution.sln (generated by checkout tool)
├─── project group 1
│ ├─── project 1.1
| | ├─── .git
| | └─── <project files>
│ └─── project 1.2
| ├─── .git
| └─── <project files>
└─── project group 2
├─── project 2.1
| ├─── .git
| └─── <project files>
└─── project 2.2
├─── .git
└─── <project files>
请注意,根目录下没有存储库(项目不是子模块)。
Visual Studio 似乎只能连接到“团队资源管理器” View 中的一个 存储库。但是,我有时会编辑多个项目中的文件。
我希望(至少)对当前解决方案(即所有存储库)的更改有一个聚合 View 。如果可能的话,我希望能够从该 View 中看到差异。
JetBrain 的 Rider这样做,但现在,我更愿意坚持使用 Visual Studio。
是否有任何扩展程序可以执行此操作?
最佳答案
我编写了一个命令行工具来管理多个存储库。您可以看到所有仓库的状态,包括编辑状态、与远程分支的关系等。它还可以批量执行任何工作目录中的命令。
您还可以对存储库进行分组。对于您的项目结构,您可以运行
gita add -a <root>
这将自动生成分层组:
-
root
:包含所有存储库 -
root-project-group-1
: 仓库 1.1 和 1.2 -
root-project-group-2
: 仓库 2.1 和 2.2
然后gita ll root
, gita ll root-project-group-1
等会显示相关信息。 gita <command> root
将在根组中的存储库上批量运行该命令。您当然也可以从任何工作目录在指定的存储库上运行命令。
还有其他功能,例如设置上下文、定义自定义命令等。安装是 pip3 install -U gita
。您可以在 github 上找到更多信息.
关于git - 一个解决方案有多个 Git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44905805/