Gitで複数アカウントを運営するためのgit configの書き方を紹介

git configをしっかりと理解できていますか?僕もこのブログを書くまでは正直あまりわかっていませんでした。

今回、ブログを作るにあたり、新しくGithubのアカウントを作成したのですが、元々PCには会社のGit情報がはいっていたので、プッシュした際に意図しないユーザでのプッシュがされてしまいました。

例えば、個人用のユーザ名と会社用のユーザ名とで変えたいことってありますよね?

そのときは、基本的には会社用の設定にし、特定のレポジトリに設定を追加してあげることで、複数のアカウントで分けて運営することができます。

その方法を解説していきたいと思います。

設定ファイル(config)の種類

gitの設定ファイル(config)は、3種類あります。

オプション 説明 設定ファイル場所
system サーバ内システム全体 Gitをインストールしたところ
global ユーザ全体 ~/.gitconfig
local 特定のレポジトリ内 ${PROJECT_PATH}/.git/config

優先度があり、

高: local -> global -> system :低

この優先度で設定が読み込まれていきます。

例)特定のレポジトリ内の設定を変更したいとき

$ git --local コマンド

みたいな形で設定することができます。

設定ファイルの説明

どういう設定がされているかはオプションlistで見ることができます。

$ git config --{system|global|local} --list

設定ファイルを変更するときは下記のようにコマンドを打つことで変更することできます。

$ git config --{system|global|local} [設定項目] [値]

特に使いそうなもの、便利そうなものを紹介していきます。

user.name

ユーザ名の設定です。
プッシュするときのユーザ名がこの項目となります。

user.email

メールアドレスの設定です。
プッシュするときのメールアドレスがこの項目となります。

core.editor

Gitが利用するエディタを設定することができます。
基本はViが指定されていると思います。

core.autocrlf

WindowsユーザとMacユーザとで開発を行うとき、改行コード問題が発生すると思います。
そのときに、この設定を活かしておくと、コミットするときに改行コードを自動で変換してくれます。

まとめ

git configを正確に理解することで、意図しない動きがあったときのトラブルシューティングに役立ちます。

理解することで、個人アカウントのGithubに会社のアカウント情報で誤プッシュすることがなくなると思います。

複数の案件に関わっていたり、個人アカウントを複数持っていたりした場合も有効だと思いますので、設定ファイルを理解して良いGitライフをお送りください。