gitで複数のアカウントを管理する方法

GitHubのアカウントを仕事用とプライベート用などで複数使用している方も多いと思います。

ターミナル上でそれらのリポジトリにpushしようとするとき、適切な手順を踏まないと想定していたアカウントとは別のアカウントでpushしていまうこともあります。

このページではそのようなことが起こらないようにするために、どのようにGit上で複数のアカウントを使い分ければ良いのか(今Gitを管理しているアカウントを別のアカウントに変更する方法)を解説します。

目次

1.git configの情報を変更

まずターミナル状で管理しているgitのメールアドレスとユーザー名を適切に設定します。

pushするとき、ここで設定したメールアドレスをもとにアカウントが判別されます。

まず以下のコマンドで現在のconfigの状況を調べます。

1
git config --list

user.emailとuser.nameが使用したいGitHubのアカウントのものと異なる場合は以下のコマンドで修正します。

1
2
 git config --global user.email "メールアドレス"
 git config --global user.name "ユーザ名"

もう一度

1
git config --list

を実行して適切に修正されたことを確認します。

2.キーチェーンからgithub.comを削除

Macを使っている方はキーチェーンにgithubのログイン情報が保存され、pushの度にユーザ名とパスワードを聞かれないという方も多いと思います。

そのような方はキーチェーンアプリを開いて名前がgithub.comになっているものを右クリックで削除してください。

これにより既存のログインしているGitHubアカウントから抜けることができます。

またはターミナルから

1
2
3
4
$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]

でも大丈夫です。

3.パーソナルアクセストークンを取得

2021年8月からターミナル上でGitHubにアクセス(ログイン)するにはパーソナルアクセストークンを用いる必要があります。

使用したいGitHubアカウントでパーソナルアクセストークンを取得してください。

以下の記事でその方法を解説しているのでやり方が分からない方は参照してください。

4.pushする

ここまで行ってからcommit, pushを行うと

1
Username for 'https://github.com':

と聞かれるのでここにGitHubのユーザ名を入力し、そのあとに

1
Password for 'https://(ユーザ名)@github.com': 

と聞かれるのでここに先ほど取得したパーソナルアクセストークンをコピペします。

これで想定したアカウントでGitHubのリポジトリにpushすることができます。