ホーム
SQT
小単元とクイズで楽しくトレーニング

メインナビゲーション

  • ホーム
  • 受講チケット
  • 利用ガイド
    • 受講チケット
    • 講座と教材の利用
    • 教材検索
    • 企業団体向け機能
    • セキュリティについて
    • パートナー様向け機能
  • 記事一覧

環境に合わせた設定

パンくず

  • ホーム
  • Git 入門講座(試用版)
  • 環境に合わせた設定
音声スライド (クリックで展開/閉じる)
スライドクリック& F キーで全画面、Esc で復帰、その他のショートカット

はじめに

  • Git の初期設定のうち環境依存の 3 項目を学ぶ
  • 既定ブランチ名・エディタ・改行コードの設定
  • 目標:自分の環境に合った Git を使える

この単元では、Git の初期設定のうち、使う環境によって設定内容が変わる 3 つの項目を扱います。具体的には、既定ブランチ名、コミットメッセージを入力するエディタ、そして改行コードの扱いです。学習を終えると、自分の環境に合わせて Git を快適に使える状態を自分で整えられるようになります。

既定ブランチ名とは

  • ブランチとは作業を分岐させる仕組み
  • 詳しい説明はモジュール 5 で行う
  • 既定ブランチ名は新規作成時に用意される名前
  • Git 本体の既定値は今も master
  • GitHub など多くのサービスは main が既定

Git ではブランチという仕組みで作業を分岐させますが、詳しい説明はモジュール 5 で行います。ここでは、新規にリポジトリを作成したときに最初に用意される「既定ブランチ名」の設定だけを扱います。Git 本体の既定値は歴史的な経緯から今も master のままですが、GitHub をはじめ多くのサービスでは main が既定として採用されています。

init.defaultBranch の設定

# Git の新規リポジトリ作成時に既定で使われるブランチ名を main に設定する
git config --global init.defaultBranch main

この設定を行うと、以後 git init で作成する新しいリポジトリは、最初から main という名前のブランチで始まります。global オプションを付けているため、この端末を使うすべてのリポジトリに適用されます。

main を既定にする理由

  • 未設定だと、リポジトリごとに既定名がバラバラになる
  • 自分と共同作業者で名前が食い違うと混乱の元になる
  • 事前に統一しておくとチーム開発がスムーズになる

init.defaultBranch を設定していないと、新しいリポジトリを作るたびに既定のブランチ名が環境ごとにバラバラになります。自分の環境と共同作業者の環境で名前が食い違うと、後の共同作業で混乱の原因になります。あらかじめ main に統一しておけば、チームでの開発がスムーズになります。

コミットメッセージとエディタ

  • git commit をメッセージ省略で実行する
  • その際エディタが自動で起動する
  • Git の既定エディタは vi(Vim)
  • vi の操作に不慣れだと迷うことがある
  • 使い慣れたエディタを設定しておくと安心

git commit をメッセージ省略で実行すると、その場でコミットメッセージを入力するためのエディタが自動的に起動します。Git の既定のエディタは vi(実体としては Vim であることが多い)ですが、操作に不慣れだと、そこから抜け出せなくなってしまうことがあります。自分が使い慣れたエディタを事前に設定しておくと安心です。

core.editor の設定

# git のデフォルトエディタを VS Code に設定する
# --wait オプションは、VS Code のウィンドウを閉じるまで
# git の処理を待機させるために必要
git config --global core.editor "code --wait"

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 の設定です。いずれも、複数の環境やメンバーの間で作業するときに生じる混乱を未然に防ぐための設定であり、最初に一度整えておくことで、その後の作業が快適になります。

確認テスト

学んだ知識をクイズ問題でチェック!

すべての単元を見るには…

Git 入門講座

Git入門講座

開発実務の経験がないエンジニア志望者を想定した、Git によるバージョン管理の基礎を学ぶeラーニング講座です。9つのパートの解説と練習問題を通じて、Git の基礎を体系的に学ぶことができます。

受講チケットのお求めはこちら
  • 前の単元
  • 次の単元

7 / 9 単元

講座情報

Git 入門講座(試用版)

「Git 入門講座」のお試し用サンプル教材です。確認テストの試用にはログインが必要です。ユーザー登録は無料。詳しくは、利用ガイドをご覧ください。

 講座ページへ
Module 1: バージョン管理とGitの全体像
1 なぜバージョン管理が必要か
2 Git とは何か:リポジトリとコミット
3 Git と GitHub、そして全体像
4 【練習】バージョン管理と Git の全体像
Module 2: 環境準備と初期設定
5 Git を動かし、調べる
6 設定の 3 階層と本人情報
7 環境に合わせた設定
8 日本語環境・効率化・調べ方
9 【練習】環境を準備する

利用ガイド

  • はじめに
  • 受講チケットの購入
  • 講座と教材の利用
  • 教材検索
  • 企業団体向け機能
  • セキュリティについて
  • パートナー様向け機能
  • 利用ガイド
  • 特定商取引法に基づく表記
  • プライバシポリシー
  • 運営会社

SQT はシナジークエストが運営するオンラインIT学習サイトです。