はじめに
git
をある程度使うようになると、「自身に合った設定にカスタマイズしたい!」なんて考えたことありませんか?今回はそんなgit
をカスタマイズする方法について着目し記事にしました。
git config
とは
git config
は、Gitの動作をカスタマイズするためのコマンドです。ユーザー情報、エディタの設定、エイリアスなど、様々な設定を管理できます。
3つのスコープ
Gitの設定には3つの異なるスコープがあり、それぞれ優先順位が異なります
下記のものは上から優先順位が低い順です。
git config --system # システム全体の設定 (/etc/gitconfig)
git config --global # ユーザーの全リポジトリの設定 (~/.gitconfig)
git config --local # 特定のリポジトリの設定 (.git/config)
コマンドの書き方
基本的な設定の構文は以下の通りです
# グローバル設定
git config --global <設定項目名> <値>
# リポジトリ固有の設定
git config --local <設定項目名> <値>
# 設定の確認
git config --list
git config <設定項目名>
# 設定をリセットする
git config --global --unset <設定項目>
configのカテゴリ
core
core
は基本的な動作に関する設定を行います。
エディタと表示
-
core.editor
: Git がユーザーに入力を求めるときに使用するデフォルトのテキストエディタを設定するgit config --global core.editor "vim" # vimを使用
エディターとコマンドの相対表
エディタ名 コマンド Vim
git config --global core.editor "vim"
Nano
git config --global core.editor "nano"
Visual Studio Code
git config --global core.editor "code --wait"
Emacs
git config --global core.editor "vim"
Goland (macOS)
git config --global core.editor "/Applications/GoLand.app/Contents/MacOS/goland --wait"
-
core.pager
: Git コマンドの出力が多い場合に内容を表示するツール(ページャー)を設定するgit config --global core.pager "" # ページャーを無効化
ファイル設定
-
core.fileMode
: ファイルの実行権限(chmod
)変更を追跡するか設定するgit config --global core.fileMode true # 権限変更を追跡 git config --global core.fileMode false # 権限変更を無視
-
core.ignorecase
: ファイル名の大文字小文字を区別するか設定するgit config --global core.ignorecase true # 区別しない git config --global core.ignorecase false # 区別する
user
user
はユーザー情報の設定をするカテゴリです。
-
user.name
: コミットに使用する名前git config --global user.name "Your Name"
-
user.email
: コミットに使用するメールアドレスgit config --global user.email "your.email@example.com"
http(通信設定)
バッファとプロキシ
-
http.postBuffer
:POST
リクエスト時のバッファサイズを設定する
サイズが大きなファイルを送信する際に利用します。git config --global http.postBuffer 524288000 # 500MB
-
http.proxy
: プロキシサーバーを設定する
HTTP 通信をプロキシ経由で行う場合に利用します。git config --global http.proxy http://proxy.example.com:8080
セキュリティ
-
http.sslVerify
:SSL 証明書
の検証を有効化/無効化するgit config --global http.sslVerify false # 証明書検証を無効化(非推奨)
セキュリティのため、SSL証明書の検証を無効化することは推奨されません。
-
http.cookieFile
: HTTP リクエスト時に使用するクッキーを保存するファイルを指定するgit config --global http.cookieFile ~/.gitcookies
color(色設定)
基本設定
-
color.ui
: Git 全体の色設定を有効化git config --global color.ui auto # 自動で色をつける git config --global color.ui false # 色なし
個別設定
-
color.branch
: ブランチ名の表示色を設定git config --global color.branch.current "green bold" git config --global color.branch.local "yellow" git config --global color.branch.remote "red bold"
-
color.diff
: 差分の表示色を設定git config --global color.diff.meta "yellow bold" git config --global color.diff.frag "magenta bold" git config --global color.diff.old "red bold" git config --global color.diff.new "green bold"
alias
Git のコマンドを簡略化するためにエイリアスを設定できます
git config --global alias.<短縮名> "<実行するコマンド>"
おわりに
今回紹介したものは、gitの設定の一部分に過ぎません。より詳細な設定や最新の情報については、公式ドキュメントを参照することをお勧めします。
参考