プログラミング入門

速報!Gitのコミット前に「自分は誰?」と悩む問題、こう解決する

「あれ、今どっちのアカウントでコミットしてたっけ…?」

Gitを複数プロジェクトで使っている方なら、一度はこの感覚を経験したことがあるんじゃないでしょうか。個人のGitHubアカウントでコミットするつもりが、気づいたら会社用の名前やメールがコミットログに残っていた…なんてミス、あるあるですよね😅

これ、単なる恥ずかしいミスで済めばいいんですが、規制の厳しい業務環境や、クライアント案件では監査ログに残ってしまう、けっこうシリアスな問題でもあります。

🤔 なぜGitのID管理はミスりやすいのか?

git version control
git version control / Photo by Kevin Ku via Pexels

Gitには「グローバル設定」と「ローカル設定」があります。

  • グローバル設定:PC全体に適用される名前・メール(~/.gitconfig
  • ローカル設定:そのリポジトリだけに適用される名前・メール(.git/config

つまり、リポジトリごとにローカル設定を忘れると、グローバルの設定が勝手に使われるんです。これが落とし穴。

現在の設定を確認するには、こうします👇

# グローバル設定を確認
git config --global user.name
git config --global user.email

# 今いるリポジトリのローカル設定を確認
git config user.name
git config user.email

ポイントをまとめるとこんな感じです。

  • グローバル側:個人アカウント or 会社アカウントのどちらかだけ設定されている
  • ローカル側:設定なし → グローバルが使われてしまう
  • 確認コマンドを習慣にするだけで、ミスがぐっと減ります!

✅ リポジトリごとにIDを自動切り替えする方法

手動で毎回設定するのは面倒ですよね。そこで便利なのが、Gitの条件付き設定(Conditional Includes)です。

イメージとしては「このフォルダ以下のリポジトリは、この設定ファイルを使う」という仕組みです。

~/.gitconfig にこう書きます👇

[includeIf "gitdir:~/work/"]
  path = ~/.gitconfig-work

[includeIf "gitdir:~/personal/"]
  path = ~/.gitconfig-personal

そして、それぞれの設定ファイルを作ります。

# ~/.gitconfig-work
[user]
  name = Taro Yamada
  email = taro@company.co.jp

# ~/.gitconfig-personal
[user]
  name = taro-dev
  email = taro@personal.example.com

これで、~/work/ 以下のリポジトリでは自動的に会社用アカウント、~/personal/ 以下では個人アカウントが使われるようになります✨

🛡️ コミット前にIDを確認するワンライナー


「フォルダ構成が複雑で条件分けが難しい」という方は、コミット前に確認するエイリアスを仕込むのもアリです。

# ~/.gitconfig に追記
[alias]
  whoami = "!git config user.name && git config user.email"

これで git whoami と打つだけで、今のIDが一発確認できます。コミット前の小さな習慣として取り入れてみてください🙌

まとめ

Gitの「Who Am I?」問題、意外と多くの開発者がぶつかる地味なストレスです。

  • 📌 git config user.name / user.email で現在のIDを確認
  • 📁 includeIf でフォルダごとにIDを自動切り替え
  • git whoami エイリアスでコミット前に一発確認

一度設定してしまえば、もう「誰としてコミットしたっけ?」と悩む必要はなくなります。ぜひ今日のうちに試してみてください!

📚 関連商品・おすすめ書籍

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

もしも

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

初心者に定番のPython入門書

Amazonで見る

徹底攻略! 電子工作&プログラミング Arduinoで学ぶ電子工作完全ガイド

もしも

徹底攻略! 電子工作&プログラミング Arduinoで学ぶ電子工作完全ガイド

電子工作とプログラミングを同時に学べる

Amazonで見る

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

もしも

実践Claude Code入門―現場で活用するためのAIコーディングの思考法

AIコーディングの現場活用法を学ぶ一冊

Amazonで見る

※本記事にはアフィリエイトリンクが含まれます。

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です