git configコマンドの使い方!ユーザー名・メールアドレス設定など

git Git

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.htmlTest.htmlは同じと見なされる)
git configを使って設定することで、検知するように設定することができます。

$ git config core.ignorecase false

コメント

タイトルとURLをコピーしました