Devcontainers:如何访问已安装子目录中父目录的git存储库

Jus*_*sti 5 git containers docker visual-studio-code vscode-devcontainer

我有以下文件夹结构:

- .git
- services
  - service-a
    - .devcontainer
    - src
  - service-b
    - .devcontainer
    - src
  - service-c
    - .devcontainer
    - src
  - many more services...
Run Code Online (Sandbox Code Playgroud)

我在根文件夹中定义了 git 存储库。我为每个服务使用 VS-Code devcontainer,在其中安装子文件夹 ( service-a/service-b/service-c/)。在容器内部,我想使用git命令,即pull、add、commit、push等等。

这是不可能的,因为一旦我将子文件夹挂载到容器中,它就不知道根目录中有一个 .git 文件夹,因为该文件夹没有挂载进去。只有子文件夹挂载在.VS-Code 然后认为它不是 git 存储库。

我知道这个问题有几种解决方案/解决方法:

  1. 一种解决方案显然是将整个根文件夹挂载到容器中,但我的项目非常大。我在这个存储库中有几十个服务。仅安装相应服务的文件夹可以让我更好地了解其源代码。另外,我有多个具有相似或相同模块名称的 Python 项目。因此,在容器中使用自动完成功能时,还会发现其他服务的Python模块,这不是我想要的。

  2. 另一个解决方案是整理每个服务并将其放入其自己的 git 存储库中。这是我喜欢的解决方案,但遗憾的是,我没有时间这样做。

  3. 另一种解决方法是使用在主机上而不是在容器中运行的本地控制台。这让我可以访问 git。但是,VS-Code 将失去 git 的所有功能,因为 VS-Code 不知道安装的文件夹实际上是 git 存储库。

这个问题还有其他解决方案吗?