我正在研究多个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>
请注意,根目录中没有repo(项目不是子模块)。
Visual Studio似乎只能在 Team Explorer 视图中连接到一个 repo。但是,我有时会编辑多个项目中的文件。
我希望(至少)有一个关于当前解决方案(即所有回购)的更改的聚合视图。如果可能的话,我希望能够从该视图中看到差异。
JetBrain&#39; Rider这样做但是现在,我更喜欢能够坚持使用Visual Studio。
这有延伸吗?
答案 0 :(得分:1)
我编写了一个命令行工具来管理多个存储库。你可以看到所有repos的状态,包括编辑状态,与远程分支的关系等。它还可以从任何工作目录批量执行命令。
您还可以对存储库进行分组。对于您的项目结构,您可以运行
gita add -a <root>
这将自动生成分层组:
root
:包含所有存储库root-project-group-1
:repo 1.1 和 1.2root-project-group-2
:存储库 2.1 和 2.2然后gita ll root
、gita ll root-project-group-1
等会显示相关信息。 gita <command> root
将在根组中的 repos 上批量运行命令。您当然也可以从任何工作目录在指定的存储库上运行命令。
还有其他功能,例如设置上下文、定义自定义命令等。安装是pip3 install -U gita
。您可以在 github 上找到更多信息。
答案 1 :(得分:0)
听起来像Visual Studio这个git submodule plugin。假设您正在使用子模块。