如何将 git 存储库的子目录指向单独的远程存储库?

How to point a subdirectory of a git repo to a separate remote repo?

我在存储库中有一个现有项目,只有一个遥控器。我正在尝试添加另一个遥控器,但我需要新的遥控器只与一个子目录相关联。

/project/db
/project/misc
/project/app
/project/Dockerfile
/project/README.md

鉴于上述项目结构,我希望能够 /project/app 连接到一个新的远程存储库,这样如果我推送到该存储库,它将 /app 视为根。这可能吗?我知道我可以创建一个新的本地存储库并将文件从 /app 复制到其中,但我想保留我的项目历史记录,并保留其他文件(相关的)与 /app 个文件。

我这样做的原因是因为我必须从我控制站点根目录的自定义托管切换到具有更严格设置的应用程序文件所在的不同提供商 (WPEngine)需要在存储库根目录中。

您要查找的是Git submodules

它们允许您在存储库中使用存储库,每个存储库都有自己独立的历史记录。

所有超级存储库都可以看到 child 的签出提交中的更改,并且通过提交你在两者之间得到一个 link([= 的所有进一步克隆20=] 将包括特定版本的 child).