Published on

Gitで複数アカウント運用する方法

Authors

Gitアカウントを複数使いたい!

と自分は思ってますが、切り替えに結構苦労したのでここに自分のやり方を記載しておきます。 ここでは1つのアカウントに対する操作を行うので、それぞれのアカウントについて以下の設定を行う必要があります。

注意 : githubの無料アカウントを複数保有することは利用規約で禁じられています

あと以下の操作はmacでの操作です。

sshの設定

SSHKeyを作成する。

ssh-keygen -t ed25519 -N "" -f ~/.ssh/<id名> -C "<メールアドレス>"
ssh-add ~/.ssh/<id名>
ssh-add --apple-use-keychain ~/.ssh/<id名>

~/.ssh/configに以下の設定を追加する。

Host <お好きな名前>
  Hostname github.com
  User git
  Port 22
  TCPKeepAlive yes
  IdentitiesOnly yes
  IdentityFile ~/.ssh/<id名>

githubに公開鍵を登録する。
~/.ssh/<id名>.pubの中身をgithubのSettings -> SSH and GPG keys -> New SSH key に貼り付ける。

ssh -T <お好きな名前>

ってやってHiって返ってきたらOK。

GPGの設定(任意)

これをするとコミット時に署名ができて、(Verified)って表示されるようになる。

gpg --full-generate-key

選択肢は 1 -> 4096 -> 0 -> y ってやりました。 メアドはgithubと同じのを設定、名前はなんでもいいはず

gpg --list-secret-keys --keyid-format LONG
gpg --armor --export <ここにKEY>

で出てきたものをコピーして、githubのSettings -> SSH and GPG keys -> New GPG key に貼り付ける。

zshrcに設定を追加

~/.zshrcに以下の設定を追加する。

function <お好きな関数名>() {
  git config --global user.name "<アカウント名>"
  git config --global user.email "<メールアドレス>"
  git config --global user.signingkey <gpgKeyのやつ>
  git config --global commit.gpgsign true
}

自分はgitajという関数を作って、gitajって打つと設定が切り替わるようにしてます。

おわり