Git (1.7.10+) now supports this syntax in .gitconfig
:
[include]
path = /path/to/file
See here for a detailed description of the git change and its edge cases.
By the way, a couple of subtleties worth pointing out:
-
Environment-variable expansion, e.g.
$HOME
, is not supported. (Expansion of~
appeared in Git 1.7.10.2.) -
If a relative path is specified, then it is relative to the .gitconfig file that has the
[include]
statement. This works correctly even across chained includes — e.g.~/.gitconfig
can have:[include] path = subdir/gitconfig
and
subdir/gitconfig
can have:[include] path = nested_subdir/gitconfig
… which will cause
subdir/nested_subdir/gitconfig
to be loaded. -
If git can’t find the target file, it silently ignores the error. This appears to be by design.