LoginSignup
3
3

[Git] gitconfigの基本とオススメ設定

Posted at

 Gitを使っていると設定を変更することがあります。例えば、ユーザー名やメールアドレスの登録やリモートリポジトリの登録などがあります。Gitを使いはじめた頃は、作業スペースを変えると毎回リモートリポジトリを設定しなおすべきなのか理解していませんでした。gitconfigについてまず知っておきたいことをまとめました。

Gitの設定ファイル

設定ファイルの種類

 Gitの設定にはシステム設定とグローバル設定とローカル設定があります。システム設定はgitconfigファイル、それ以外は.gitconfigファイルとして存在しています。なお、システム設定については基本的に触ることはないのでここでは説明を省略します。(そういうものがあるんだなっていう認識で大丈夫です)

gitconfig.png

グローバル設定

 Gitを操作する上で全ての作業スペースで共通の設定項目です。ルートディレクトリに.gitconfigファイルとして存在しています。
git config --globalコマンドでルートディレクトリの.gitconfigファイルに設定内容を登録できます。
下記のコマンドはGitで最初に設定するのはGitHubなどのユーザーネームとメールアドレスを登録するコマンドです。

ユーザー名とメールアドレスの登録
$ git config --global user.name 'ユーザー名'
$ git config --global user.email 'メールアドレス'

 git config --globalコマンドで登録した設定内容は、ルートディレクトリ内すべてに適用されます。そのため、作業スペースを変更してもいちいちユーザーネームやメールアドレスを登録する必要はありません。

ローカル設定

 各作業スペースでの設定項目です。.gitconfigファイルはgit initで作成された.gitフォルダの中に保存されています。--globalのオプションをつけずにgit configをするとローカルの.gitconfigに保存されます。他にもgit remote addコマンドでリモートリポジトリを登録した場合もローカルの.gitconfigファイルに保存されます。

リモートリポジトリの登録
$ git remote add origin リモートリポジトリのURL

 ローカル設定は互いに独立しています。例えば、下図のように作業スペースAで設定したローカル設定は作業スペースCには反映されません。そのおかげで他の作業スペースへ移動してもリモートリポジトリを登録しなおす必要はありません。

gitconfig_example.png

Gitの設定の優先順位

 設定ファイルの優先順位は

ローカル>グローバル>システム

となっています。ローカルで設定した項目が優先され、それ以外はグローバル設定のものが適用されます。(さらにグローバルで設定されていない項目はシステム設定が適用されます)

 ある作業スペースだけに適用したいものをローカル設定に、共通して使いたいものをグローバル設定にすれば良いということになります。逆に、グローバル設定したつもりなのに設定が反映されていない場合は、--globalのオプションをつけ忘れてどこかのローカル設定にされている可能性が高いです。このことを理解しておけばGitの設定で悩むことは少なくなると思います。

オススメのグローバル設定:alias(エイリアス)

 最後にGitの操作効率を上げるalias(エイリアス)の設定を紹介します。Gitでよく使うコマンドにエイリアスを設定するとコマンド入力を削減することができます。

 下記のコマンドをそれぞれ実行するとエイリアスを設定できます。(--globalオプションを忘れずに!)

Gitのエイリアス設定
$ git config --global alias.ci commit
$ git config --global alias.st status
$ git config --global alias.br branch
$ git config --global alias.co checkout

このように設定しておくと、それぞれのコマンドをalias.⚪︎⚪︎の「〇〇」の文字だけで実行できます。例えば、下記のようにコマンドを短縮して実行できます。

エイリアスの使用例:git commit
$ git ci -m "first commit"
エイリアスの使用例:git status
$ git st
エイリアスの使用例:git branch
$ git br -d feature
エイリアスの使用例:git checkout
$ git co -b feature

ぜひ試してみてください。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3