簡體   English   中英

git幾個開發容器環境

[英]several development container environment with git

我正在使用 vs-code devcontainer功能來創建以下設置的容器化開發環境:

root_folder (main git repository)
|- .git
|- docker-compose.yml
|- @myapi-submodule (django python API)
  |- .devcontainer.json
|- @myclient-submodule (react js client)
  |- .devcontainer.json

docker-compose.yml ,我分別創建了 2 個服務apiclient ,並安裝了它們對應的子模塊文件夾。

然后我可以在 2 個單獨的 windows 中“打開容器中的文件夾...”,除了 git 之外,一切都很好。 我需要能夠進行更改,提交它們更改分支...從容器但由於只安裝了子模塊文件夾,我根本不能使用 git。

在這種情況下我有什么選擇? 如何在沒有父文件夾的情況下從容器中修改子模塊?

最簡單的解決方案是在您的根項目目錄中創建一個 single.devcontainer 目錄,並在其中創建一個新的 docker-compose.yml (或者如果可能的話擴展現有的。

├── .git
├── .devcontainer
│   ├── devcontainer.json
│   ├── docker-compose-extend.yml # either extend current docker-compose file
│   ├── docker-compose.yml # or create a new one
│   └── Dockerfile # your new docker-compose.yml can also use different Dockerfile(s)
├── @myapi-submodule (django python API)
└── @myclient-submodule (react js client)

devcontainer.json文件現在應該使用新的 docker-compose 文件。 您還應該考慮將 .devcontainer 目錄添加到gitignore

我找到了解決此問題的解決方法,您需要從主存儲庫中添加 .git 文件夾作為掛載,如下所示:

devcontainer.json:

{
    "name": "Node.js",
    ...
    "mounts": [
        "source=${localWorkspaceFolder}/../.git,target=/workspaces/.git,type=bind,consistency=cached"
    ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM