コマンド1つでGitHubのアカウントを切り替えるテクニック
こんにちは、広報の山下です。
今回はターミナル上でGitHubのアカウントを簡単に切り替える方法を紹介します。
私の業務上サイトを編集することもあり、普段は仕事とプライベートで2つのアカウントをVScodeと VScode-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のメールアドレス"
}
保存したら、ターミナルにgithubpriv・githubworkと打ち込むだけでアカウントの切り替えをすることができます!
アカウントの確認方法
アカウントが切り替わっているかはこちらのコマンドで確認することができます。
git config user.name
以上、作成方法となります。これで簡単に切り替えできるようになったかと思います!
設定しておくと便利ですので、ぜひお試しください!
bluecodeで一緒に働きませんか?
bluecodeはsystemではなくlifestyleを開発する会社です。
エンジニアやプロジェクトマネージャーをフルタイムからスポットまで様々な働き方で採用を行っております。
釣り人には嬉しい『釣り補助』という制度もございます!
気になった方は、ぜひ一度HPをご覧ください!