【Git】認証情報を切り替える

もくじ

現在の情報を確認する

$ git config --list

これでGitの全ての設定を確認できます。

system, global, local の順に読み込まれてすべて表示されます。

オプション

オプションをつけることで、それに応じたスコープの設定を確認できます。

$ git config --system --list
$ git config --global --list
$ git config --local --list

上記3つのコマンドを順に実行すると、オプションなしで確認した内容と同じことがわかります。

$ git config --list // これを同じ

認証情報を切り替える

ここで本題です。

会社でもしgitを使っている場合、会社と個人のuserを切り分けて使用したいですよね?私はしたいです。 ちなみにパソコンが違うなら気にする必要はないと思います。

会社用のuserをグローバル設定をしていると、何も考えずにここでpushすると会社のアカウントがAuthorになってgitにログが残ります。これを回避するために次の手順を踏みます。

パターン1(明示的にアカウントを指定)

1.アカウント指定を必須にする

まず、グローバル設定も含め明示的にアカウントを指定しないとコミットができないようにします。

$ git config --global user.useConfigOnly true

2.グローバル設定を削除

$ git config --global --unset user.email
$ git config --global --unset user.name

これにより、コミットすると*** Please tell me who you are.となりコミットが中断するので、git configコマンドでアカウントを指定します。

3.アカウント情報を設定

リポジトリごとに設定する場合は、--globalオプションは付けません。

$ git config user.email メールアドレス
$ git config user.name ユーザーネーム

再度コミットを実行します。

4.ログを確認

$ git log

ログを見ると指定したuser.emailuser.nameになっていることが確認できます。

パターン2(新しくアカウントを登録し直す)

1.グローバルの設定を削除

$ git config --global --unset user.email
$ git config --global --unset user.name

2.アカウント情報を再設定

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

上書きすれば完了!

失敗談?

初めアカウントは勝手に切り分けられると思っていたのでこんなことする必要を知らず、会社のuserとしてcommitされてしまい焦りました。きっと会社のログに残ってしまうんだろうなー。正直知られたくなかったので冷や汗をかきましたが、やってしまったものは仕方ないので諦めました。

Gitマスター

個人でGitのリポジトリ作っちゃえば失敗も怖くないですよね。これでたくさんトライアンドエラーしてGitマスターになりましょう!

gitコマンドについての記事も参考にしてみてください。

bonoponz.hatenablog.com

参考URL

Gitのリポジトリごとにコミット時の名前とメールアドレスの設定を促す方法 | Developers.IO

git configでGitの設定を変更・確認する方法を解説! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

gitconfig の基本を理解する - Qiita

Git - Git の設定