如何处理具有多个身份和 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.name
和 git config --get user.email
并在创建时将其设置为 devcontainer?
更新
问题是无法从 docker-compose.yml
或 Dockerfile
中的命令检索 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
这样的事情是行不通的。有解决方法吗?
如图所示:
- commit 1641597(更新
docker-compose.yml
文件以挂载 .gitconfig
)
- commit 3ad0b8b(删除
.gitconfig
复制后的安装)
您需要 modify/patch container-templates/docker-compose/.devcontainer/docker-compose.yml
和其他人 containers/xxx/.devcontainer/docker-compose.yml
才能在创建新容器时添加由 VSCode 自动执行的任何指令。
该路径将包括 select 正确 config/identity 使用的方法,以便相应地修改已安装的 .gitconfig
。
似乎 Visual Studio 代码及其开发容器在创建时复制了 .gitconfig
。因为我必须管理不同的身份,所以我有相当广泛的 .gitconfig
,它有条件地加载其他配置文件。例如:
[includeIf "gitdir:~/Workspace/github.com/"]
path = .gitconfig-github.com
当然 Visual Studio 代码不会复制它们,即使它不起作用,因为条件不适用,因为它会检测到错误的目录。
无论如何,是否可以在工作目录内的容器之外 运行 git config --get user.name
和 git config --get user.email
并在创建时将其设置为 devcontainer?
更新
问题是无法从 docker-compose.yml
或 Dockerfile
中的命令检索 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
这样的事情是行不通的。有解决方法吗?
如图所示:
- commit 1641597(更新
docker-compose.yml
文件以挂载.gitconfig
) - commit 3ad0b8b(删除
.gitconfig
复制后的安装)
您需要 modify/patch container-templates/docker-compose/.devcontainer/docker-compose.yml
和其他人 containers/xxx/.devcontainer/docker-compose.yml
才能在创建新容器时添加由 VSCode 自动执行的任何指令。
该路径将包括 select 正确 config/identity 使用的方法,以便相应地修改已安装的 .gitconfig
。