音声スライド (クリックで展開/閉じる)
はじめに
- Git の初期設定のうち環境依存の 3 項目を学ぶ
- 既定ブランチ名・エディタ・改行コードの設定
- 目標:自分の環境に合った Git を使える
この単元では、Git の初期設定のうち、使う環境によって設定内容が変わる 3 つの項目を扱います。具体的には、既定ブランチ名、コミットメッセージを入力するエディタ、そして改行コードの扱いです。学習を終えると、自分の環境に合わせて Git を快適に使える状態を自分で整えられるようになります。
既定ブランチ名とは
- ブランチとは作業を分岐させる仕組み
- 詳しい説明はモジュール 5 で行う
- 既定ブランチ名は新規作成時に用意される名前
- Git 本体の既定値は今も master
- GitHub など多くのサービスは main が既定
Git ではブランチという仕組みで作業を分岐させますが、詳しい説明はモジュール 5 で行います。ここでは、新規にリポジトリを作成したときに最初に用意される「既定ブランチ名」の設定だけを扱います。Git 本体の既定値は歴史的な経緯から今も master のままですが、GitHub をはじめ多くのサービスでは main が既定として採用されています。
init.defaultBranch の設定
この設定を行うと、以後 git init で作成する新しいリポジトリは、最初から main という名前のブランチで始まります。global オプションを付けているため、この端末を使うすべてのリポジトリに適用されます。
main を既定にする理由
- 未設定だと、リポジトリごとに既定名がバラバラになる
- 自分と共同作業者で名前が食い違うと混乱の元になる
- 事前に統一しておくとチーム開発がスムーズになる
init.defaultBranch を設定していないと、新しいリポジトリを作るたびに既定のブランチ名が環境ごとにバラバラになります。自分の環境と共同作業者の環境で名前が食い違うと、後の共同作業で混乱の原因になります。あらかじめ main に統一しておけば、チームでの開発がスムーズになります。
コミットメッセージとエディタ
- git commit をメッセージ省略で実行する
- その際エディタが自動で起動する
- Git の既定エディタは vi(Vim)
- vi の操作に不慣れだと迷うことがある
- 使い慣れたエディタを設定しておくと安心
git commit をメッセージ省略で実行すると、その場でコミットメッセージを入力するためのエディタが自動的に起動します。Git の既定のエディタは vi(実体としては Vim であることが多い)ですが、操作に不慣れだと、そこから抜け出せなくなってしまうことがあります。自分が使い慣れたエディタを事前に設定しておくと安心です。
core.editor の設定
core.editor に "code --wait" を設定すると、git commit
を実行したときに VS Code が開きます。--wait
を付けているのは、VS Code 側のウィンドウを閉じるまで、Git
に処理を戻さないようにするためです。これを付け忘れると、エディタが開いた直後に
Git が処理を進めてしまい、正しくメッセージを保存できません。
LF と CRLF の違い
- 改行を表す文字は OS によって異なる
- macOS・Linux は LF (
\n) を使う - Windows は CRLF (
\r\n) を使う - 見た目は同じでも、ファイル内部のバイト列は異なる
改行を表す文字(コード)は、OS によって異なります。macOS や Linux では LF という 1 文字が使われますが、Windows では CR と LF を組み合わせた CRLF という 2 文字が使われます。画面上の見た目は同じ改行でも、ファイルの中身のバイト列は異なるものになっています。
改行コード不一致の問題

Windows 上のエディタで保存したファイルは CRLF になります。そのファイルを、macOS や Linux を使う開発者が受け取って git diff を見ると、実際には 1 文字も変更していないのに、すべての行が変更されたと表示されてしまいます。これは改行コードの違いをそのまま記録してしまうために起こる現象です。
core.autocrlf の設定
| OS | 設定コマンド | 効果 |
|---|---|---|
| macOS・Linux | git config --global core.autocrlf input |
コミット時に CRLF を LF に変換する |
| Windows | git config --global core.autocrlf true |
コミット時に LF へ変換し、チェックアウト時に CRLF へ戻す |
core.autocrlf は、コミットやチェックアウトの際に改行コードを自動で変換する設定です。macOS や Linux では input を指定し、コミット時に CRLF を LF に変換します。Windows では true を指定し、コミット時に LF へ変換したうえで、チェックアウト時には元の CRLF に戻します。こうして、全員のリポジトリ内部の改行コードを LF に統一しつつ、各自の画面ではその OS に合った改行で表示できます。
まとめ
- 既定ブランチ名を main に統一する設定
- コミットメッセージ入力に使うエディタの設定
- 改行コードの違いと core.autocrlf による統一
- いずれも環境差から生じる混乱を防ぐための設定
この単元では、環境によって設定内容が変わる 3 つの項目を学びました。既定ブランチ名を main に統一する設定、コミットメッセージ入力に使うエディタの設定、そして改行コードの違いを吸収する core.autocrlf の設定です。いずれも、複数の環境やメンバーの間で作業するときに生じる混乱を未然に防ぐための設定であり、最初に一度整えておくことで、その後の作業が快適になります。