繁体   English   中英

一个解决方案的多个 Git 存储库

[英]Multiple Git repos for one solution

我正在研究在多个 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 似乎只能连接到团队资源管理器视图中的一个存储库。 但是,我有时会编辑来自多个项目的文件。

我想(至少)对当前解决方案(即所有存储库)的更改有一个汇总视图。 如果可能,我希望能够从该视图中看到差异。

JetBrain 的Rider做到了这一点,但就目前而言,我更愿意坚持使用 Visual Studio。

是否有任何扩展这样做?

我编写了一个命令行工具来管理多个存储库。 您可以看到所有 repos 的状态,包括编辑状态、与远程分支的关系等。它还可以从任何工作目录批量执行命令。

您还可以对存储库进行分组。 对于您的项目结构,您可以运行

gita add -a <root>

这将自动生成分层组:

  • root :包含所有存储库
  • root-project-group-1 :repo 1.1 和 1.2
  • root-project-group-2 :repo 2.1 和 2.2

然后gita ll rootgita ll root-project-group-1等会显示相关信息。 gita <command> root将在 root 组中的 repos 上批量运行命令。 您当然也可以从任何工作目录在指定的存储库上运行命令。

还有其他功能,例如设置上下文、定义自定义命令等。安装是pip3 install -U gita 您可以在github上找到更多信息。

在此处输入图片说明

听起来像是 Visual Studio 的这个git 子模块插件 那是假设您正在使用子模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM