master と main、どちらを使うべきか 〜 Gitのブランチ名から学ぶ「古い記事」と「現在の標準」の見分け方 〜
Gitを教えていると、意外なところで学びになる場面があります。
先日、チーム開発の評価準備をしていたときのことです。生徒の皆さんが作成したGitHubのリポジトリを確認していました。
そこで、ある生徒さんのリポジトリを見て、ふと気づいたことがありました。
実は、私の想定と違っていた
私は、初期ブランチは当然 main になっていると思っていました。
ところが、その生徒さんのリポジトリでは、ブランチ名が master になっていました。
master
「あれ、なぜ master なんだろう?」
そう思って、本人に聞いてみました。
特別な意図があったわけではなく、調べたり参考にした情報の流れで、その名前を選んだようでした。
ここで私は、単なるブランチ名の違い以上に、大事な学びがあることに気づきました。
実は、私自身も「今どきは当然 main だろう」と、どこかで思い込んでいたのです。
master と main は何が違うのか
まず結論から言うと、
Gitそのものにとっては、master も main もただのブランチ名です。
Gitは内部的に、
mastermaindeveloprelease
などの名前に特別な意味を持っていません。
極端な話、
banana
でもブランチ名として成立します。つまり技術的には、名前は自由です。
なぜ main が増えたのか
では、なぜ最近は main をよく見るのでしょうか。
理由は、2020年にGitHubが標準ブランチ名を master から main に変更したからです。
それ以前は、多くのチュートリアルや書籍でこう書かれていました。
git checkout master
git push origin master
しかし現在、GitHubで新規リポジトリを作ると、多くの場合デフォルトは main です。
つまり、
- 昔の記事 →
master - 新しい記事 →
main
この混在が起きています。
誰かが間違っていたわけではない
今回の件で分かったのは、誰かが間違っていたわけではないということです。
- 生徒が
masterを選んだ - 私は
mainを想定していた
この違いがあっただけです。改めて整理すると、
- Gitとしてはどちらでも動く
- 古い記事では
masterが普通 - 新しい環境では
mainが標準
という状況でした。つまり今回起きていたのは、正誤の問題ではなく、前提条件の違いだったのです。
これは実務でも非常によくあります。
本当に大事なのは名前ではない
チーム開発で重要なのは、master か main かではありません。
重要なのは、チーム内で統一されているかです。
たとえばある人が main に push するつもりで作業していて、別の人が master に push していたら、混乱します。
つまり問題は名前ではなく、認識のズレです。これはGitに限らず、実務全般で起きます。
技術記事を鵜呑みにしない
ここが今回の本題です。
生徒さんから、「記事にそう書いてありました」と聞くことがあります。でも実務では、その一言だけでは足りません。
確認したいのは次の3つです。
1. いつ書かれた記事か
2020年以前なら master 前提かもしれません。技術情報は古くなります。
2. どの環境の話か
同じGit関連でも、
- Git本体(
git init) - GitHub
- GitLab
- Bitbucket
- Visual Studio
では挙動が違う場合があります。
例えばGitHubでは現在、新規リポジトリのデフォルトブランチは main です。
一方で、ローカルで git init した場合は、Gitのバージョンや設定によって master になることがあります。
Visual Studioでも、内部で使っているGit設定や環境によって、main になったり master になったりします。
つまり、Gitを使っているから全部同じ挙動とは限らないのです。
3. 公式情報はどうか
ブログ記事よりも、
- 公式ドキュメント
- 現在のツール画面
- 実際の挙動
のほうが信頼できます。
学習者から実務者へ
初学者の頃は、「正解を教えてください」と思いがちです。
でも実務では、「正解が一つではない」ことがよくあります。今回もそうです。
masterでも動くmainでも動く- 環境によって違う
- 時代によって標準が変わる
この状況で必要なのは暗記ではなく、前提条件を確認する力です。
まとめ
今回大事だったのは、master が正しいか main が正しいかという二択ではありません。
技術情報には、必ず
- 時期
- 環境
- 前提条件
があります。ある記事では正しかったことが、今の標準とは違っていることもあります。
だからこそ、記事を読むときは、
- いつ書かれたか
- どのサービスの話か
- 公式情報ではどうなっているか
を確認する習慣が大切です。
Gitのブランチ名ひとつでも、学べることは意外と多いものです。









ディスカッション
コメント一覧
まだ、コメントがありません