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 config` まとめ

1
Posted at

Git初心者が最初に設定しておきたい git config まとめ

目的

Gitを使い始めたとき、最初にどの git config を設定しておけばよいかは意外と迷いやすいです。
この記事では、初心者が最初に入れておくと困りにくい設定に絞って整理します。

構成は、Qiitaの Git 初期設定 の流れを参考にしつつ、今回は git config に限定 してまとめます。


この記事の対象読者

  • Gitを使い始めたばかりの人
  • git init の次に何を設定すればいいか知りたい人
  • GitHubへ初めて push する前に、最低限の設定を済ませたい人
  • WSL / Linux / macOS で開発する人

まずはこれだけ設定すればOK

最初は、まずこの5つで十分です。

git config --global user.name "Gitに記録したい名前"
git config --global user.email "Gitに記録したいメールアドレス"
git config --global user.useConfigOnly true
git config --global init.defaultBranch main
git config --global core.editor "code --wait"

「最低限でいいので、まず困りにくくしたい」という場合は、ここだけ先に入れておけば大丈夫です。


前提環境

この記事は、次の前提で書いています。

  • Git インストール済み
  • ターミナルが使える
  • VS Code を使う例で説明する
  • 主に WSL / Linux / macOS を想定する

Windowsネイティブ環境では、改行コードまわりの設定は少し考え方が変わります。
そのため core.autocrlf は環境に応じて調整してください。


設定確認

Git バージョン確認

まずは Git が使える状態か確認します。

git --version

現在の設定確認

グローバル設定は以下で確認できます。

git config --global --list

設定ファイルの場所

よく使う設定ファイルは次の2つです。

  • Global: ~/.gitconfig
  • Local: .git/config

最初は --global の設定を使えば十分です。


必須設定

1. Git に記録する名前とメールアドレスを設定する

最初にやるべき設定は user.nameuser.email です。

git config --global user.name "Gitに記録したい名前"
git config --global user.email "Gitに記録したいメールアドレス"

例:

git config --global user.name "Taro Yamada"
git config --global user.email "your-email@example.com"

補足

  • user.name は、Git のコミットに記録する名前です
  • 必ずしも本名である必要はありません
  • 業務ではチームで分かりやすい表記、個人開発ではハンドルネームでも問題ありません

2. Git がユーザー情報を勝手に推測しないようにする

user.useConfigOnlytrue にしておくと、Git が user.nameuser.email を勝手に推測しないようにできます。

git config --global user.useConfigOnly true

これは、意図しない名前やメールアドレスでコミットする事故を減らしやすい設定です。


3. デフォルトブランチを main にする

git init したときの初期ブランチ名を main に統一したいなら、init.defaultBranch を設定します。

git config --global init.defaultBranch main

最近は master ではなく main を使うことが多いので、最初に揃えておくと後で楽です。


推奨設定

4. エディタを設定する

Git は、コミットメッセージやタグメッセージの編集時にエディタを起動します。
VS Code を使うなら次が分かりやすいです。

git config --global core.editor "code --wait"

5. git fetch 時に不要なリモート追跡ブランチを整理する

fetch.prune=true を入れておくと、git fetch 時にリモート側で削除済みのブランチ参照を整理しやすくなります。

git config --global fetch.prune true

origin/feature/xxx のような参照が残り続けて見通しが悪くなるのを減らせます。


6. 初回 push を楽にする

ここは初心者が引っかかりやすいポイントです。

upstream とは何か

upstream は、「このローカルブランチが追跡するリモートブランチ」 のことです。

たとえば、ローカルの feature/loginorigin/feature/login を追跡している状態が upstream 設定済みの状態です。

明示的に設定する場合

初回 push のときは、従来はこう書くことが多いです。

git push -u origin feature/login

push.autoSetupRemote を使う場合

push.autoSetupRemote=true を設定すると、現在のブランチに upstream が無い状態で通常の git push をしたとき、--set-upstream 相当を自動で仮定 してくれます。

git config --global push.autoSetupRemote true

何が楽になるのか

これを入れておくと、新しいブランチで初回 push するときに、

git push

で済みやすくなります。

ただし、複数 remote を使う運用や fork ベースの運用では、明示的に git push -u origin ブランチ名 と書いた方が安全なことがあります。
個人開発や単一 origin 前提なら、かなり実用的です。


7. 改行コードの事故を減らす

WSL / Linux / macOS 系で作業するなら、core.autocrlf input は有力です。

git config --global core.autocrlf input

コミット時に CRLF を LF に寄せやすくしつつ、チェックアウト時の自動変換はしない設定です。

Windowsネイティブ環境では、この値が最適とは限りません。
チームの運用や .gitattributes の方針に合わせて決めるのが安全です。


8. 日本語ファイル名を見やすくする

日本語ファイル名が読みにくいエスケープ表記になるのを防ぎたい場合は、以下を設定します。

git config --global core.quotepath false

9. マージコンフリクトを見やすくする

コンフリクト表示を見やすくしたい場合は、以下を設定します。

git config --global merge.conflictStyle zdiff3

競合時に、どの差分がどう衝突しているか追いやすくなります。

環境によっては zdiff3 が使えないことがあります。
その場合は diff3 を検討してください。


10. 同じコンフリクトの解決を再利用する

rerere.enabled=true は、過去に解決したコンフリクトを記録して、同じ衝突に再遭遇したときに再利用しやすくする 設定です。

git config --global rerere.enabled true

必須ではありませんが、今後 rebasecherry-pick を触るなら、早めに入れておいても損は少ないです。


まとめ

Git初心者が最初に設定しておくと便利なのは、まず以下です。

  • user.name
  • user.email
  • user.useConfigOnly
  • init.defaultBranch
  • core.editor

余裕があれば、以下も入れておくと運用しやすくなります。

  • fetch.prune
  • push.autoSetupRemote
  • core.autocrlf
  • core.quotepath
  • merge.conflictStyle
  • rerere.enabled

特に push.autoSetupRemote は、初回 push と upstream 設定の関係を理解するきっかけとしてもよい設定です。
最初から全部を深く理解しきる必要はありません。まずは「初期にハマりやすい点を減らす設定」を入れて、使いながら意味を覚えていけば十分です。


参考

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?