具有多个文件夹分支的单个Git存储库

具有多个文件夹分支的单个Git存储库,git,Git,我似乎找不到正确的搜索词来回答这个问题,所以我要写一个新的。如果在某个地方有一个类似的问题有一个好的答案,我很乐意接受/结束这个问题 这将是我的项目结构 /Project/ /Project1 /Project2 /Project3 Project2依赖于Project1,Project3依赖于Project2,但我认为这并不完全相关 现在,Project1、Project2和Project3中的每一个都有自己独立的Git存储库。这很好,只是管理起来很麻烦,因为由于依赖

我似乎找不到正确的搜索词来回答这个问题,所以我要写一个新的。如果在某个地方有一个类似的问题有一个好的答案,我很乐意接受/结束这个问题

这将是我的项目结构

/Project/
    /Project1
    /Project2
    /Project3
Project2依赖于Project1,Project3依赖于Project2,但我认为这并不完全相关

现在,Project1、Project2和Project3中的每一个都有自己独立的Git存储库。这很好,只是管理起来很麻烦,因为由于依赖关系,我同时对这三个组件进行并行开发

我想在
Project/
文件夹中放置一个存储库,并有3个单独的分支,每个分支跟踪各自文件夹的更改。因此,当我提交对Project2和Project3的更改时,Project2和Project3的提交历史记录都会受到影响


我所寻找的主要优势是,在GitExtensions中,我可以查看并添加单个项目的提交历史,而不必打开3个窗口,每个repo一个窗口。这可能吗

我建议你重新考虑一下你想做什么

您需要决定这些项目是否真正独立。如果它们实际上是分开的,那么就使用不同的存储库。如果他们没有分开,那么就不要那样对待他们;只需在根
Project/
文件夹中创建一个存储库。分支应用于跟踪单独的功能,而不是项目。Git中的存储库被设计为特定于单个项目,而Subversion中的存储库可能将许多不同的项目放在单个存储库中

你问题的以下部分发出了危险信号:

我想要的是在项目中放置一个存储库/ 文件夹,并有3个单独的分支,每个分支跟踪自己的分支 文件夹的更改。因此,当我提交对Project2和Project3的更改时, Project2和Project3的提交历史记录都会受到影响

您要求3个单独的分支分别跟踪每个项目的更改,但您说希望项目x的历史影响项目y的历史。再说一遍,你到底想在这里实现什么?这些项目要么是单独的,要么不是

我建议不要使用单独的分支机构来单独跟踪您的项目。为单独的项目使用单独的存储库,并且仅使用分支处理最终将合并回主分支的特定功能


最后,您可以在
Project/
级别创建一个“主”存储库,然后使用来跟踪子项目。不过,Git子模块可能会引入,所以将它们作为最后的手段。

我建议重新考虑您正在尝试做什么

您需要决定这些项目是否真正独立。如果它们实际上是分开的,那么就使用不同的存储库。如果他们没有分开,那么就不要那样对待他们;只需在根
Project/
文件夹中创建一个存储库。分支应用于跟踪单独的功能,而不是项目。Git中的存储库被设计为特定于单个项目,而Subversion中的存储库可能将许多不同的项目放在单个存储库中

你问题的以下部分发出了危险信号:

我想要的是在项目中放置一个存储库/ 文件夹,并有3个单独的分支,每个分支跟踪自己的分支 文件夹的更改。因此,当我提交对Project2和Project3的更改时, Project2和Project3的提交历史记录都会受到影响

您要求3个单独的分支分别跟踪每个项目的更改,但您说希望项目x的历史影响项目y的历史。再说一遍,你到底想在这里实现什么?这些项目要么是单独的,要么不是

我建议不要使用单独的分支机构来单独跟踪您的项目。为单独的项目使用单独的存储库,并且仅使用分支处理最终将合并回主分支的特定功能


最后,您可以在
Project/
级别创建一个“主”存储库,然后使用来跟踪子项目。不过,Git子模块可能会引入,所以将它们作为最后的手段。

我建议重新考虑您正在尝试做什么

您需要决定这些项目是否真正独立。如果它们实际上是分开的,那么就使用不同的存储库。如果他们没有分开,那么就不要那样对待他们;只需在根
Project/
文件夹中创建一个存储库。分支应用于跟踪单独的功能,而不是项目。Git中的存储库被设计为特定于单个项目,而Subversion中的存储库可能将许多不同的项目放在单个存储库中

你问题的以下部分发出了危险信号:

我想要的是在项目中放置一个存储库/ 文件夹,并有3个单独的分支,每个分支跟踪自己的分支 文件夹的更改。因此,当我提交对Project2和Project3的更改时, Project2和Project3的提交历史记录都会受到影响

您要求3个单独的分支分别跟踪每个项目的更改,但您说希望项目x的历史影响项目y的历史。再说一遍,你到底想在这里实现什么?这些项目要么是单独的,要么不是

我建议不要使用单独的分支机构来单独跟踪您的项目。为单独的项目使用单独的存储库,并且仅使用分支处理最终将合并回主分支的特定功能

最后,你可以