1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

gitをある程度使うようになると、「自身に合った設定にカスタマイズしたい!」なんて考えたことありませんか?今回はそんなgitをカスタマイズする方法について着目し記事にしました。

git configとは

git configは、Gitの動作をカスタマイズするためのコマンドです。ユーザー情報、エディタの設定、エイリアスなど、様々な設定を管理できます。

3つのスコープ

Gitの設定には3つの異なるスコープがあり、それぞれ優先順位が異なります
下記のものは上から優先順位が低い順です。

git config --system  # システム全体の設定 (/etc/gitconfig)
git config --global  # ユーザーの全リポジトリの設定 (~/.gitconfig)
git config --local   # 特定のリポジトリの設定 (.git/config)

systemglobalの違い

  • --system: マシン上の全ユーザーに適用される設定
  • --global: 現在のユーザーの全リポジトリに適用される設定

コマンドの書き方

基本的な設定の構文は以下の通りです

# グローバル設定
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 ""  # ページャーを無効化
    

    ページャーとは

    ページャーは、内容が一度に収まりきらないとき、スクロールして内容を確認できるツールです。
    git loggit diffなどで出力される内容が多い場合に使用されます。

ファイル設定

  • 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の設定の一部分に過ぎません。より詳細な設定や最新の情報については、公式ドキュメントを参照することをお勧めします。

参考

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?