~/.gitconfigをホームディレクトリのトップから移動させる
~/.gitconfigをホームディレクトリのトップから移動させる
要約
git
は XDG Base Directory に対応しているため、環境変数で設定して~/.gitconfig
を移動させれば読んでくれる。
$ export XDG_CONFIG_HOME="${HOME}/.config"
$ mkdir $XDG_CONFIG_HOME/git
$ mv ~/.gitconfig $XDG_CONFIG_HOME/git/config
詳しい内容
gitの設定ファイルは、同時に存在していれば~/.gitconfig
の方が優先される。
デフォルトでは環境変数が設定されいても~/.gitconfigが作成される。
$ export XDG_CONFIG_HOME="${HOME}/.config"
$ git config --global user.name "John"
$ cat ~/.gitconfig
[user]
name = John
設定ファイルを新しいディレクトリにコピーする。
$ mkdir $XDG_CONFIG_HOME/git
$ cp ~/.gitconfig $XDG_CONFIG_HOME/git/config
削除しないと$XDG_CONFIG_HOME/git/configよりも~/.gitconfigが優先される。設定も~/.gitconfig
に書かれる。
$ git config --global user.name "Jack"
$ cat ~/.gitconfig
[user]
name = Jack
$ cat $XDG_CONFIG_HOME/git/config
[user]
name = John
$ git config --list
user.name=John
user.name=Jack
$ rm ~/.gitconfig
これでgitから設定が読まれる
$ git config --global user.email [email protected]
$ cat $XDG_CONFIG_HOME/git/config
[user]
name = John
email = [email protected]
$ git config --list
user.name=John
[email protected]
設定も反映されるようになる。
おわりに
明示的に指定しなければ反映されないとは… XDG_Base_Directory はもっと普及しても良いと思います。