GitHub複数アカウントの使い分け方法
概要
1台のPCで個人用・仕事用アカウントを使い分けるには、
「①認証(誰としてアクセスするか)」
「②コミット作者(誰が作業したか)」
この2つを正しく設定する必要があります。
①認証:アカウントを指定してリポジトリにアクセスする
プライベートリポジトリなどにアクセスする際、どのアカウントとして認証を行うかを指定する方法です。
手順:URLにアカウント名を含めてクローン
リポジトリをクローンする際に、URLに利用したいGitHubアカウント名を含めます。これにより、そのアカウントでリポジトリにアクセスできます。
# 基本構文
git clone https://{アカウント名}@github.com/{所有者名}/{リポジトリ名}.git
# 具体例 (personal-accountでクローンする場合)
git clone https://personal-account@github.com/private-user/secret-repo.git
push
や pull
を行う際には、ここで指定した personal-account
の認証情報(Personal Access Token)が求められます。
⚠️注意点:この方法だけでは、コミット履歴に残る作者名が変更されません。PCのグローバル設定のままになってしまいます。そのため、次に説明する方法と必ずセットで実行してください。
②コミット作者:リポジトリのコミット作者を設定する
クローンしたリポジトリのフォルダ内で、コミット履歴に残る名前とメールアドレスを設定します。これが「誰が作業したか」という記録になります。
手順:リポジトリ内でローカル設定を行う
まず、先ほどクローンしたディレクトリに移動します。
cd secret-repo
次に、そのリポジトリ内でのみ有効なユーザー名とメールアドレスを設定します。
# このリポジトリ用のユーザー名を設定
git config --local user.name "personal-account"
# このリポジトリ用のGitHub登録メールアドレスを設定
git config --local user.email "personal-email@example.com"
--local
を使うことで、設定がこのリポジトリに限定され、他のリポジトリに影響を与えません。
✅ まとめ:推奨される作業フロー
-
アカウント指定で
git clone
を実行し、適切な権限でリポジトリをダウンロードする。 -
cd
でリポジトリに移動し、git config --local
コマンドでコミット作者を設定する。
この2つの手順をセットで行うことで、認証とコミット作者の両方を正しく使い分けることができます。