如何处理具有多个身份和 Visual Studio Code devcontainers 的大量 .gitconfig?

How to deal with extensive .gitconfig with multiple identities and Visual Studio Code devcontainers?

似乎 Visual Studio 代码及其开发容器在创建时复制了 .gitconfig。因为我必须管理不同的身份,所以我有相当广泛的 .gitconfig,它有条件地加载其他配置文件。例如:

[includeIf "gitdir:~/Workspace/github.com/"]
    path = .gitconfig-github.com

当然 Visual Studio 代码不会复制它们,即使它不起作用,因为条件不适用,因为它会检测到错误的目录。

无论如何,是否可以在工作目录内的容器之外 运行 git config --get user.namegit config --get user.email 并在创建时将其设置为 devcontainer?


更新

问题是无法从 docker-compose.ymlDockerfile 中的命令检索 return 值以将其移交给容器,对吗?

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
      args:
        VARIANT: 14
        GIT_USERNAME: ${git config --get user.name}
        GIT_USERMAIL: ${git config --get user.email}
    volumes:
      - ..:/workspace:cached
    command: sleep infinity

这样的事情是行不通的。有解决方法吗?

如图所示:

您需要 modify/patch container-templates/docker-compose/.devcontainer/docker-compose.yml 和其他人 containers/xxx/.devcontainer/docker-compose.yml 才能在创建新容器时添加由 VSCode 自动执行的任何指令。

该路径将包括 select 正确 config/identity 使用的方法,以便相应地修改已安装的 .gitconfig