我有一个项目,当前部分处于源代码控制中。它的设置使得当我将项目推送到git时,它会自动部署,我当前的文件夹结构如下所示:
AsoRock.Core中的代码编译到DLL中,然后复制到AsoRock.Web文件夹中-实际上是将AsoRock.Web文件推送到源代码管理中。
我现在想将所有其他文件和文件夹放入单独的git存储库中。因此,我希望将所有AsoRock.Core文件夹,Merchello-2.7.0文件夹和packages文件夹存储在此新存储库中。
谁能一步一步地告诉我我该怎么做?我使用源代码树作为git客户端,但是如果我最初需要使用命令行进行设置,我也将尝试使用它。
好吗?
答案 0 :(得分:1)
我相信您想要的是创建带有子模块的存储库-这样子模块是独立的(具有其“自己的存储库”),但是通过父模块链接...
详细信息,您可以检查this link
简化,要创建子模块,应遵循以下步骤(从上面的链接中提取):
首先,将现有的Git存储库添加为我们正在处理的存储库的子模块。要添加新的子模块,请使用git子模块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
我认为这是基础。如果您还需要更多,上面的链接将提供更多详细信息。
我希望它可以帮助您...