見出し画像

コマンド1つでGitHubのアカウントを切り替えるテクニック

こんにちは、広報の山下です。
今回はターミナル上でGitHubのアカウントを簡単に切り替える方法を紹介します。

私の業務上サイトを編集することもあり、普段は仕事とプライベートで2つのアカウントをVScodeVScode-insidersで分けています。
ですが、たまにターミナルからも叩いたりすることがあるので、ターミナルも使い分けれるようにしてしまおうということで、簡単に作っていこうかなと思います(ここ間違ってるなど指摘ありましたらコメントで教えてください)

それでは早速やってみましょう


公開鍵と秘密鍵を作る

まずはターミナルを開いて「.ssh」ディレクトリに移動します。

% cd ~/.ssh

移動したら「ssh-keygen」で公開鍵と秘密鍵を生成します。

% ssh-keygen -t rsa

実行すると3つ質問されます。
普段はEnterを3回押して終わりになりますが、今回は2つアカウントを切り替えたいので少しいじりたいと思います。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

1つ目の質問が鍵の名前の設定になります。そのままEnterを押すと「id_rsa」「id_rsa.pub」で~/.ssh内に生成されます。

今回はまずプライベート用を作成するので、id_rsa_privとしておきます。2,3個目の質問はパスフレーズの質問で、今回は空のまま進むのでEnterを2回押してください(仕事用も同様の方法でできます)

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):id_rsa_priv
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

公開鍵をGitHubに設定する

こちらのリンクから公開鍵のリンクに飛べます。

New SSH keyというボタンがあるので押すとこんな画面が表示されます。

Title:自分がわかりやすい名前
Key type:Authentucation Key(初期)
Key:id_rsa.pub(公開鍵) の内容を貼付ける。貼り付ける際はこちらのコマンドを使うとミスがなくて良いです。

$ pbcopy < ~/.ssh/id_rsa.pub

最後にAdd SSH keyを押して終了です。


configファイルにアカウントを設定する

~/.sshにconfigファイルを編集してGitHubのアカウント設定をしていきます。

configファイルがない場合はこちらのコマンドを使って生成します。

% touch config

次にVimで書いていくので、Vimでconfigファイルを開きます。

% vi config

configファイルを開いたらアカウントの設定をしていきます。
※Vimの使い方がわからない方はこちらの記事を参考に

#仕事用アカウント
Host github-priv
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_priv #鍵のファイルの名前
  User git

#プライベート用アカウント
Host github-work
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_work #鍵のファイルの名前
  User git

こちらで設定完了なので、:wqで保存します。


アカウント切り替えのshellコマンドを作る

アカウント切り替える際は--globalを使用して切り替えますが、長いのでshellコマンドを作って簡単に切り替えれるようにします。

まず~/.zshrcファイルをVimで開きます。

% vi ~/.zshrc

開いたら~/.zshrcファイルに書き込んでいきます。

function githubpriv() {
  git config --global user.name "GitHubアカウント名"
  git config --global user.email "GitHubのメールアドレス"
}

function githubwork() {
  git config --global user.name "GitHubアカウント名"
  git config --global user.email "GitHubのメールアドレス"
}

保存したら、ターミナルにgithubprivgithubworkと打ち込むだけでアカウントの切り替えをすることができます!


アカウントの確認方法

アカウントが切り替わっているかはこちらのコマンドで確認することができます。

git config user.name

以上、作成方法となります。これで簡単に切り替えできるようになったかと思います!
設定しておくと便利ですので、ぜひお試しください!

bluecodeで一緒に働きませんか?

bluecodeはsystemではなくlifestyleを開発する会社です。
エンジニアやプロジェクトマネージャーをフルタイムからスポットまで様々な働き方で採用を行っております。

釣り人には嬉しい『釣り補助』という制度もございます!
気になった方は、ぜひ一度HPをご覧ください!