如何设置具有多个存储库的项目

问题描述 投票:0回答:1

我有一个目前部分在源代码控制中的项目。它被设置为当我将项目推送到git时,它会自动部署,我当前的文件夹结构如下所示:enter image description here

来自AsoRock.Core的代码编译成DLL并复制到AsoRock.Web文件夹中 - 它实际上是推送到源代码控制的AsoRock.Web文件。

我现在想把所有其他文件和文件夹放到一个单独的git存储库中。所以我希望所有AsoRock.Core文件夹,Merchello-2.7.0文件夹和packages文件夹都存储在这个新的存储库中。

任何人都可以一步一步地告诉我如何做到这一点?我正在使用源代码树作为git客户端,但如果我需要使用命令行来设置它,我也会尝试。

想法好吗?

git version-control atlassian-sourcetree
1个回答
1
投票

我相信你想要的是创建一个带有子模块的存储库 - 这种方式它们是独立的(带有“自己的存储库”),但通过父级链接...

详细地说,你可以检查this link

简化,创建子模块你应该遵循这个(从上面的链接中提取):

让我们首先添加一个现有的Git存储库作为我们正在处理的存储库的子模块。要添加新的子模块,请使用git submodule add命令以及要开始跟踪的项目的绝对或相对URL。在这个例子中,我们将添加一个名为“DbConnector”的库。

$ git submodule add https://github.com/chaconinc/DbConnector

默认情况下,子模块会将子项目添加到名为与存储库相同的目录中,在本例中为“DbConnector”。如果要将命令转到其他位置,可以在命令末尾添加其他路径。

要使用子模块克隆项目:

在这里,我们将克隆一个带有子模块的项目。克隆此类项目时,默认情况下会获取包含子模块的目录,但其中没有任何文件:

$ git clone --recurse-submodules https://github.com/chaconinc/MainProject

要更新子模块,请使用:

$ git submodule update --remote

要推动子模块的更改:

$ git push --recurse-submodules=on-demand

我认为这将是基础知识。如果您需要更多信息,上面的链接还有更多细节。

我希望它可以帮助你......

© www.soinside.com 2019 - 2024. All rights reserved.