Why?
How to
- ひとつのリポジトリに2ユーザ使うことはほぼ無いので、各リポジトリでコミットユーザを指定できるようにする
準備
SSH鍵を作成して、githubに登録しておく
~/.ssh/config
に設定を追加する
Host github-kz-engineer
User git
Port 22
HostName github.com
IdentityFile ~/.ssh/id_rsa.kz
TCPKeepAlive yes
IdentitiesOnly yes
接続テスト
- ssh Tオプション(Disable pseudo-tty allocation)で接続テスト
- 接続成功
- ここで呼ばれる名前で、どの公開鍵が使われているかわかる
$ ssh -T github-kz-engineer
Hi kz-engineer! You've successfully authenticated, but GitHub does not provide shell access.
* $ ssh -T github-kz-engineer
Permission denied (publickey).
実践
$ git config --local --list
user.name=hoge
user.email=hoge@example.com
$ less .git/config
[user]
name = hoge
email = hoge@example.com
$ git config --global --list
user.name=fuga
user.email=fuga@example.com
$ less ~/.gitconfig
[user]
name = fuga
email = fuga@example.com
- 実際にコミットしてみる
- 確認して実際に設定されたユーザでコミットできていればおk
$ git log
commit hogehoge
Author: hoge<hoge@example.com>
Date: Wed Mar 2 01:28:25 2016 +0700
test
TODO List
TODO: pseudo-tty
とは?
TODO: ~/.ssh/config
の設定順序について