git configコマンドの使い方について書いています。
git configコマンドを使うことで、リポジトリの設定確認や変更などを行うことができます。
載せているコマンドについては、Gitのバージョン2.32.0で試してみました。
git configとは?
git configは、名前の通り設定を行うためのコマンドです。
ローカルリポジトリやグローバルのメールアドレスやユーザー名の設定などを行うことができます。
今回は、ユーザ名・メールアドレスの設定とエディタの設定について、次項から記載しています。
公式のドキュメントはこちらになります。
ローカルリポジトリのユーザー名・メールアドレスを変更する
ローカルリポジトリのユーザ名とメールアドレスの変更方法です。
リポジトリへのコミット時に履歴に残るユーザー名とメールアドレスになります。
グローバルで設定している内容以外を設定したいときに使います。
ユーザー名を変更する
ユーザー名を変更するには、下記のコマンドを実行します。
$ git config user.name hoge
git configに設定項目の「user.name
」を指定した後に、設定値の「hoge」を渡しました。
これで、ユーザー名として「hoge」を設定しました。
ユーザー名を確認する
git configで設定されたユーザー名を確認する場合には、下記のコマンドを実行します。
設定値を抜いたコマンドです。
$ git config user.name
そうすると、下記のように設定値が返ってきます。
$ git config user.name
hoge
メールアドレスを変更する
メールアドレスを変更するには、下記のコマンドを実施します。
$ git config user.email hoge@example.com
git configに設定項目の「user.email
」を指定した後に、設定値の「hoge@example.com」を渡しました。
これで、メールアドレスとして「hoge@example.com」を設定しました。
メールアドレスを確認する
設定されたメールアドレスを確認するには、下記のコマンドを実行します。
こちらも設定値を抜いたコマンドです。
$ git config user.email
そうすると、下記のように設定値が返ってきます。
$ git config user.email
hoge@example.com
グローバルのユーザー名・メールアドレスを変更する
グローバルの設定をする場合には--global
オプションを使用します。
ユーザー名を変更する
グローバルのユーザー名を変更するには、下記のコマンドを実行します。
git config --global user.name hoge
ローカルの設定の時と--global
オプションをつけた以外は同じです。
これでグローバルなユーザー名として、「hoge」が設定されます。
ユーザー名を確認する
グローバルの設定を確認する時にも--global
オプションを使用します。
ユーザー名を確認する時には、下記のコマンドを使います。
$ git config --global user.name
実行すると、設定したユーザー名が返ってきます。
$ git config --global user.name
hoge
メールアドレスを変更する
グローバルのメールアドレスを変更するには、下記のコマンドを実行します。
git config --global user.email hoge@example.com
これでグローバルなメールアドレスとして、「hoge@example.com」が設定されます。
メールアドレスを確認する
グローバルのメールアドレスを確認する時には、下記のコマンドを使います。
$ git config --global user.email
実行すると、設定したメールアドレスが返ってきます。
$ git config --global user.email
hoge@example.com
ローカルリポジトリのエディタを変更する
gitでコミットの際などに使われるエディタを変更する時にも、git configが使えます。
設定項目はcore.editor
になります。
エディタをVSCodeに変更する
エディタをVSCodeに変更します。
$ git config core.editor "code --wait"
エディタをvimに変更する
エディタをvimに変更します。
$ git config core.editor vim
設定したエディタを確認する
設定エディタの確認時にも設定値を抜いて、コマンドを実行します。
$ git config core.editor
実行すると、下記のように設定値が返ってきます。
$ git config core.editor
code --wait
グローバルリポジトリのエディタを変更する
グローバルのエディタ設定も同様に--global
をつけて設定します。
エディタをVSCodeに変更する
エディタをVSCodeに変更します。
$ git config --global core.editor "code --wait"
エディタをvimに変更する
エディタをvimに変更します。
$ git config --global core.editor vim
現在の設定一覧を確認する
git configコマンドで、現在何が設定されているか確認することが可能です。
設定値を一覧で確認する場合には、git configに--list
オプションを使います。
設定値を一覧表示する
設定値を一覧表示する場合には、下記のコマンドを使用します。
$ git config --list
実行すると、下記のようにずらずらっと設定値が並びます。
$ git config --list
credential.helper=osxkeychain
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
difftool.sourcetree.path=
mergetool.sourcetree.cmd=/Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
mergetool.sourcetree.trustexitcode=true
user.name=hoge
user.email=hoge@example.com
core.excludesfile=/Users/xxx/.gitignore_global
core.editor=vim
commit.template=/Users/xxx/.stCommitMsg
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
core.editor=vim
上記だと、グローバル設定かローカル設定かわからない状態です。
どこのファイルに書いてある設定か確認する
--show-origin
オプションをつけることで、どこに書いている設定値か確認することができます。
$ git config --list --show-origin
実行すると、先頭にファイル名が表記されて、その後に設定値が表示されます。
% git config --list --show-origin
file:/Applications/Xcode.app/xxxxx credential.helper=osxkeychain
file:/Users/xxx/.gitconfig difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
file:/Users/xxx/.gitconfig difftool.sourcetree.path=
file:/Users/xxx/.gitconfig mergetool.sourcetree.cmd=/Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
file:/Users/xxx/.gitconfig mergetool.sourcetree.trustexitcode=true
file:/Users/xxx/.gitconfig user.name=hoge
file:/Users/xxx/.gitconfig user.email=hoge@example.com
file:/Users/xxx/.gitconfig core.excludesfile=/Users/xxx/.gitignore_global
file:/Users/xxx/.gitconfig core.editor=vim
file:/Users/xxx/.gitconfig commit.template=/Users/xxx/.stCommitMsg
file:.git/config core.repositoryformatversion=0
file:.git/config core.filemode=true
file:.git/config core.bare=false
file:.git/config core.logallrefupdates=true
file:.git/config core.ignorecase=true
file:.git/config core.precomposeunicode=true
file:.git/config core.editor=vim
/Users/xxx/.gitconfig
ファイルがグローバルな設定値で、.git/config
ファイルがローカルリポジトリの設定値になります。
ファイルの大文字・小文字に対応する
ファイル名の大文字・小文字が違っても、初期設定では検知しないようになっています。(test.html
とTest.html
は同じと見なされる)
git configを使って設定することで、検知するように設定することができます。
$ git config core.ignorecase false
コメント