個人用と仕事用で複数のGithubを使い分ける必要があったので、メモ代わりに残します。
Gitは下記の優先順位で設定を読み込みます。
- local
- global
- system
多くの方が下記のコマンドでglobalの設定をしているため、基本的にglobalが使われます。
git config --global user.name <name>
git config --global user.email <email-address>
今回は、プロジェクトごとに設定を作成し、別のgithubアカウントを使う方法です。概要は以下のとおりです。
- 別アカウント用のSSH keyの作成
- プロジェクト内でlocalの設定
別アカウント用のSSH keyの作成
別アカウント用のSSH keyを作成します。コマンドはいつもどおりですが、指定するファイル名(~/.ssh/id_rsa_newkey
の部分)を変更して下さい。
ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa_newkey -q -N ""
プロジェクト内でlocalの設定
次に、別のアカウントを使用したプロジェクトのディレクトリに移動します。その後、name、email、sshコマンドを設定します。
git config --local user.name <username>
git config --local user.email <email-address>
git config core.sshCommand "ssh -i ~/.ssh/id_rsa_newkey -F /dev/null"
これにより、このプロジェクトディレクトリ内でgit push
やgit pull
したときにglobalとは別のアカウントが利用されます。