「あれ、会社のアカウントで個人プロジェクトにコミットしちゃった…!」
こんな経験、ありませんか?
最近では、同じパソコンで仕事用と個人用のGitHubアカウントを使い分けることが当たり前になりました。でも、アカウントの切り替えを忘れて間違ったユーザー名でコミットしてしまうと、後で修正するのがとても面倒です。
この記事では、Gitアカウントをスムーズに切り替える方法を、初心者の方にも分かりやすく解説します。基本的なコマンドから、コマンド一発で切り替えられる便利な設定まで、あなたに合った方法が見つかるはずです!
Gitアカウントって何?基本を理解しよう

まず「Gitアカウント」という言葉について整理しましょう。
実は、Gitそのものには「アカウント」という概念はありません。ここで言う「アカウント」とは、コミット時に記録される「ユーザー名」と「メールアドレス」のことです。
コミットって何?
コミットとは、ファイルの変更履歴を保存することです。例えるなら、ゲームのセーブポイントのようなもの。コミットする際に、「誰が」この変更を行ったのかという情報が自動的に記録されます。
この「誰が」の部分に使われるのが、ユーザー名とメールアドレスなんですね。
なぜ切り替えが必要なの?
例えば、こんなシチュエーションを想像してみてください:
- 会社のプロジェクトでは「田中太郎 (tanaka@company.com)」としてコミット
- 個人のプロジェクトでは「TanakaGamer (tanaka@personal.com)」としてコミット
もし会社のアカウント設定のまま個人プロジェクトにコミットすると、GitHubなどに会社のメールアドレスが公開されてしまう可能性があります。逆もまた然りで、プライバシーや情報管理の観点から、適切に使い分けることが大切です。
Gitの設定には3つのレベルがある
Gitの設定を理解する上で重要なのが、設定の優先順位です。Gitには3つの設定レベルがあり、それぞれ適用範囲が異なります。
1. システム設定(system)
パソコンの全ユーザー、すべてのリポジトリに適用される設定です。
管理者権限が必要なので、通常はあまり使いません。
2. グローバル設定(global)
現在ログインしているユーザーの、すべてのリポジトリに適用される設定です。
最も一般的に使われる設定で、自分の基本情報を登録する際に使います。
3. ローカル設定(local)
特定のリポジトリ(プロジェクト)にのみ適用される設定です。
リポジトリごとに異なるアカウント情報を設定したい場合に使います。
優先順位はどうなってるの?
設定の優先順位は、ローカル > グローバル > システムの順番です。
つまり、ローカル設定があればそれが優先され、なければグローバル設定が使われるという仕組みです。これを理解しておくと、アカウント切り替えの戦略が立てやすくなります!
方法1:コマンドで直接切り替える【基本編】
まずは、最もシンプルな切り替え方法から見ていきましょう。
グローバル設定を変更する方法
ターミナル(Windowsの方はGit Bash)を開いて、以下のコマンドを入力します:
# 仕事用アカウントに切り替え
git config --global user.name "田中太郎"
git config --global user.email "tanaka@company.com"
# 個人用アカウントに切り替え
git config --global user.name "TanakaGamer"
git config --global user.email "tanaka@personal.com"
ターミナルというのは、文字だけでパソコンに命令を出すための画面のこと。難しそうに見えますが、慣れればマウス操作より速く作業できるんです。
設定を確認する方法
ちゃんと設定できたか不安?大丈夫です。以下のコマンドで現在の設定を確認できます:
# すべての設定を表示
git config --list
# ユーザー名だけを表示
git config user.name
# メールアドレスだけを表示
git config user.email
この方法の欠点は?
毎回コマンドを打つのは正直めんどくさいですよね。しかも、切り替えを忘れると間違ったアカウントでコミットしてしまいます。
「もっと楽な方法はないの?」という方、ご安心ください。次の方法をご覧ください!
方法2:コマンド一発で切り替える【便利編】
毎回長いコマンドを打つのは大変なので、ショートカットコマンドを作ってしまいましょう!
macOS / Linuxの場合
ホームディレクトリにある.zshrc(または.bashrc)というファイルに、以下の設定を追加します:
# ターミナルで.zshrcを開く
vi ~/.zshrc
# または
nano ~/.zshrc
ファイルの最後に、以下を追加:
# 仕事用アカウントに切り替え
function git_work() {
git config --global user.name "田中太郎"
git config --global user.email "tanaka@company.com"
echo "✅ 仕事用アカウントに切り替えました"
git config user.name
git config user.email
}
# 個人用アカウントに切り替え
function git_personal() {
git config --global user.name "TanakaGamer"
git config --global user.email "tanaka@personal.com"
echo "✅ 個人用アカウントに切り替えました"
git config user.name
git config user.email
}
保存したら、設定を反映させます:
source ~/.zshrc
使い方はとってもシンプル!
これで、以下のコマンドだけで切り替えられるようになりました:
# 仕事用に切り替え
git_work
# 個人用に切り替え
git_personal
コマンド実行後、現在の設定が表示されるので、ちゃんと切り替わったか一目で分かります!
Windowsの場合
Windowsユーザーの方は、Git Bashの設定ファイル(~/.bashrc)に同じ内容を追加すればOKです。PowerShellを使っている場合は、$PROFILEファイルに関数を追加しましょう。
方法3:ディレクトリごとに自動で切り替える【上級編】
「プロジェクトのフォルダに入ったら自動的に切り替わってほしい!」
そんな願いを叶える方法があります。これが一番スマートで、切り替え忘れの心配がゼロになります。
仕組みの説明
Gitには、特定のディレクトリ配下では別の設定ファイルを読み込むという機能があります。これを使えば、フォルダごとに自動的にアカウントが切り替わるんです!
設定手順
ステップ1:メインの設定ファイルを編集
グローバル設定ファイル(~/.gitconfig)を開きます:
vi ~/.gitconfig
以下の内容を追加します:
[user]
name = 田中太郎
email = tanaka@company.com
# 個人プロジェクト用のディレクトリを指定
[includeIf "gitdir:~/personal/"]
path = ~/.gitconfig_personal
gitdir:~/personal/の部分は、あなたの個人プロジェクトを保存しているフォルダのパスに置き換えてください。
ステップ2:個人用の設定ファイルを作成
次に、個人用の設定ファイルを作ります:
# ファイルを作成
touch ~/.gitconfig_personal
# 編集
vi ~/.gitconfig_personal
中身はこんな感じ:
[user]
name = TanakaGamer
email = tanaka@personal.com
これで何が起こるの?
設定が完了すると、こうなります:
~/personal/フォルダの中のプロジェクトでは、自動的に個人用アカウントが使われる- それ以外のプロジェクトでは、仕事用アカウントが使われる
切り替えコマンドを打つ必要もなく、完全自動です。もう切り替え忘れの心配はありません!
確認方法
ちゃんと動いているか確認しましょう:
# 仕事用プロジェクトのフォルダで
cd ~/work/project
git config user.email
# → tanaka@company.com と表示される
# 個人用プロジェクトのフォルダで
cd ~/personal/project
git config user.email
# → tanaka@personal.com と表示される
方法4:リポジトリごとに個別設定する【確実編】

「このプロジェクトだけは絶対に個人アカウントを使いたい!」
そんな時は、ローカル設定を使いましょう。
設定方法
プロジェクトのフォルダに移動して、--globalなしでコマンドを実行します:
# プロジェクトフォルダに移動
cd ~/personal/my-awesome-project
# このプロジェクト専用の設定
git config user.name "TanakaGamer"
git config user.email "tanaka@personal.com"
--globalを付けないのがポイントです!これで、このプロジェクトだけの設定ができます。
どこに保存されるの?
ローカル設定は、プロジェクトフォルダ内の.git/configというファイルに保存されます。グローバル設定よりも優先されるので、確実にそのアカウントでコミットできます。
いつ使うべき?
- プロジェクトごとに確実にアカウントを分けたい時
- 共同開発で、そのプロジェクト専用のアカウントを使いたい時
- ディレクトリ構成が複雑で、自動切り替えの設定が面倒な時
SSH設定での切り替えも可能【GitHub/GitLab向け】
GitHubやGitLabを使っている方は、SSH鍵でアカウントを切り替える方法もあります。
SSH鍵って何?
SSH鍵は、パスワードの代わりに使える暗号キーのようなものです。より安全に、そして便利にGitHubなどのサービスに接続できます。
メリットは?
- パスワード入力が不要になる
- セキュリティが向上する
- アカウントごとに異なる鍵を使えば、接続先を確実に区別できる
設定方法の概要
詳細な手順は長くなるので要点だけ説明します:
- アカウントごとにSSH鍵を生成
~/.ssh/configファイルで鍵を使い分ける設定- GitHubやGitLabに公開鍵を登録
この方法は少し上級者向けですが、一度設定すればとても快適です。「もっと詳しく知りたい!」という方は、「GitHub SSH 複数アカウント」で検索してみてください。
よくあるトラブルと解決方法
トラブル1:間違ったアカウントでコミットしてしまった!
まだプッシュしていない場合(リモートリポジトリにアップロードしていない場合)は、比較的簡単に修正できます。
直前のコミットを修正する
# 正しいアカウント情報に切り替える
git config user.name "正しい名前"
git config user.email "正しいメールアドレス"
# コミットをやり直す
git commit --amend --reset-author
--amendは「修正する」という意味のオプション。直前のコミットを書き換えます。
複数のコミットを修正する
少し複雑ですが、できます:
# 過去3つのコミットを編集モードで開く
git rebase -i HEAD~3
エディタが開いたら、修正したいコミットのpickをeditに変更して保存。その後:
# アカウント情報を修正
git commit --amend --reset-author
# 次のコミットへ進む
git rebase --continue
これを修正したいコミットすべてに対して繰り返します。
トラブル2:設定がうまく反映されない
以下の点をチェックしてみましょう:
- 設定ファイルの記述ミス
- 全角スペースが混ざっていないか確認
- ファイルパスが正しいか確認
- 設定の優先順位
- ローカル設定がグローバル設定を上書きしていないか確認
git config --list --show-originで設定の読み込み元を確認
- ファイルの再読み込み
.zshrcなどを編集した場合、source ~/.zshrcで反映
トラブル3:どのアカウントで設定されているか分からない
現在の設定を確認するコマンドを覚えておきましょう:
# 現在のユーザー名とメールアドレスを表示
git config user.name
git config user.email
# どの設定ファイルから読み込まれているか表示
git config --show-origin user.name
git config --show-origin user.email
--show-originオプションを使うと、その設定がどのファイルから来ているのか分かります。デバッグに便利です!
GitHubの公式アカウント切り替え機能も登場!
2024年に、GitHub.com上で複数アカウントを簡単に切り替えられる機能が追加されました。
使い方
- GitHubにログイン
- 右上のプロフィール画像をクリック
- メニューに「Add account」という項目が表示される
- 切り替えたいアカウントでサインイン
一度追加すれば、「Switch account」から簡単に切り替えられます。
これまでの方法との違いは?
この機能はGitHub.comのウェブサイト上での切り替えです。コマンドラインからのGit操作(commitなど)の際のアカウントは、引き続きgit configで設定する必要があります。
つまり、両方をうまく使い分けるのがベストです!
まとめ:あなたに合った切り替え方法を見つけよう
Gitアカウントの切り替え方法を4つ紹介しました。それぞれの特徴をまとめます:
方法1:コマンドで直接切り替え
- おすすめ度:★★☆☆☆
- メリット:シンプルで分かりやすい
- デメリット:毎回長いコマンドを打つのが面倒、切り替え忘れが起きやすい
- こんな人に:たまにしか切り替えない人
方法2:ショートカットコマンド
- おすすめ度:★★★☆☆
- メリット:簡単なコマンドで切り替えられる、現在の設定が確認できる
- デメリット:切り替え忘れのリスクは残る
- こんな人に:手動で切り替えを管理したい人
方法3:ディレクトリ自動切り替え
- おすすめ度:★★★★★
- メリット:完全自動、切り替え忘れがゼロ、一度設定すれば永続的
- デメリット:初期設定がやや複雑
- こんな人に:仕事と個人でフォルダを分けている人(ほとんどの人におすすめ!)
方法4:リポジトリ個別設定
- おすすめ度:★★★★☆
- メリット:そのプロジェクトだけ確実に別アカウント
- デメリット:プロジェクトごとに設定が必要
- こんな人に:特定プロジェクトだけ別アカウントを使いたい人
最後に:切り替え忘れを防ぐコツ
最後に、実践的なアドバイスをいくつか:
1. プロンプト(コマンドライン表示)をカスタマイズ
ターミナルのプロンプトに現在のGitユーザー情報を表示させれば、一目で分かります。「starship」や「powerlevel10k」といったプロンプトカスタマイズツールを使うと簡単に設定できます。
2. コミット前に必ず確認
コミットする前に、以下のコマンドで確認する習慣をつけましょう:
git config user.email
3. 基本は自動切り替え、例外はローカル設定
方法3(ディレクトリ自動切り替え)をベースにして、例外的なプロジェクトだけ方法4(ローカル設定)を使うのが最強の組み合わせです。
4. 定期的に設定を見直す
たまにgit config --listで全体の設定を確認しましょう。予期しない設定が残っていることもあります。
これで、Gitアカウントの切り替えマスターです!仕事用と個人用、しっかり使い分けていきましょう。
何か困ったことがあれば、この記事を見返してみてください。きっと解決のヒントが見つかるはずです。
Happy Git Life! 🚀

コメント