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ライフをお送りください。