Multiple Git Configuration

Git

对于有多个 Git 仓库的情况,不同的仓库可能需要配置不同的用户信息。

一种麻烦的方案是,每个仓库都配置一个本地的 Git 配置,不使用全局的设置,就不会有问题。但是这样配置非常的麻烦,也容易忘。Git 提供了配置覆盖的功能,可以指定某一子目录,使用另外一个指定的 Git 配置覆盖默认的全剧配置。

如下:

[includeIf "gitdir:~/work/github/"]
    path = ~/work/github/.gitconfig

这个配置指定了在 ~/work/github/ 目录下,除了全局的 .gitconfig 文件之外,读取 ~/work/github/.gitconfig 文件对配置进行覆盖改写。在 ~/work/github/.gitconfig 的优先级高于 ~/.gitconfig 的配置,会优先使用,没有定义的部分才会去全局中找。