はじめに
こちらもいずれやらないとなぁと思ったままお座なりになっていたローカル環境の設定です。
「 シェルで Github リポジトリの master ブランチの名前を main ブランチに変更する」というエントリでもお話しましたが、
Github リポジトリを新規に作成した場合のデフォルトブランチ名が master から main に変更となっています。(もう随分前の話ですね。)
そんな時代の流れとは裏腹に、自分の PC で git init し Git リポジトリを新規作成した際のデフォルトブランチ名が未だに master となっています。
少しでもおっさん化の流れに抵抗する必要があるということで、 git init したときに作られるデフォルトブランチ名を main にするための設定をしようと思いました。
検証環境
| |
今回の作業の前提
当然のことながら git コマンドが使えるようになっている必要があります。
加えて、 Git のバージョンが 2.28 以降でなければいけません。
僕の環境は以下の通り、 2.28 以降でした。
| |
Git の新しい設定として init.defaultBranch が追加されています
Git 2.28 より前のバージョンでは、 git init コマンドでリポジトリを新規作成した場合、常に master というブランチがデフォルトで作成されていました。
Git 2.28 からは、新しい設定項目として init.defaultBranch が追加されています。 ( そこそもこれまでは master という文言が Git ソースコードにハードコードされていました。 )
この設定項目に設定した値を使って、デフォルトブランチを作成するように修正されています。
僕の作業用 PC では、 init.defaultBranch が設定されていないため、今まで通り master という名前でデフォルトブランチが作成されていました。
ちなみにこちらの設定を行っても、すでに存在する Git リポジトリには影響を与えません。
もし既存の Git リポジトリに対しても master から main というリネームを行いたい、という場合は以下のエントリを参照ください。(リネーム用のスクリプトを公開しています。)
init.defaultBranch を設定するための手順
設定は簡単です。 以下のコマンドを作業用 PC で実行するだけです。
| |
それでは設定を進めていきます。
その前に、一度 git init して作成されるデフォルトブランチを見ておきます。
| |
はい、 master ブランチが作成されています。
( ちなみにメッセージをしっかり読めばわかるのですが、 init.defaultBranch を設定して master という文言から変えましょうって提案してくれています。ちゃんと読んでおけば。 )
それでは、今後 git init したときに作成されるデフォルトブランチを main となるように設定します。
| |
再度確認してみます。
| |
正しく変更されました。
init.defaultBranch を設定しよう!というメセージも表示されなくなりましたね。
ひとこと
新しい PC に移行したり、サーバ構築したときにこの作業忘れるっていうのが発生しそうな気がします。。。
ブランチに master という文言が入っているリポジトリがあったら通知する、みたいなものもあったほうが良さそうですね。