Git 2.28.0 でdefault branchをmaster以外に変更する方法 init.defaultBranch を試す (2020年10月1日GitHubはdefault branchの強制変更)
git 2.28.0がリリースされた
BLM運動に対応したgit 2.28.0がリリースされました。
github.blog
gitのdefault branchを自由に変更できるという対応です。(他にも色々なバグフィックスもあります)
gitのdefault branchはハードコーディングされているということだったので設定を追加することで対応したようです。
default branchの設定が無いときはmasterのままで、default branchの設定が有るときは、その設定値になります。
どうなるのか?せっかくだから試してみました。
なお、GitHub ActionsのCheckoutプラグインは変更済みです。
kawahara-ci.hatenablog.com
git 2.28.0を試してみましょう!
適当なディレクトリーでgit initを実行します。
その後.git/HEADファイルを確認するとmasterのままです。

git branch --show-current で確認します。
masterのままですね。

gitのバージョンを2.28.0にアップデートします。

.gitディレクトリーを消しておいてから、git 2.28.0リリースブログに記載の通りgit config --global init.defaultBranch mainを打って設定を変更します。
そしてgit initを実行して、その後.git/HEADファイルを確認するとmainに変わりました!

git branch --show-currentで確認します。
mainに変更されています!!

~/.gitconfigファイルも設定が変わっていることが確認できます。

※git config --global init.defaultBranch mainを使用しないときはgit init後にgit branch -M mainとしてください。
変わったことを確認したら、GitHubでrepositoryを作成してみます。
2020年7月29日の時点ではgit push -u origin masterのままです。

GitHubにpushしてみましょう。
試しにgit push -u origin masterと実行してもエラーになりますが、git push -u origin mainと実行すると成功します。

※なお、既存リポジトリーに対してgit initしてReinitializedしてもgit branch --show-currentの内容も.git/HEADファイルの内容は変更されません。
変更するときはgit branch -M mainを使います。
今すぐ、brunchを変える必要性は低いですが、将来的にはbrunchはmainに変わっていくだろうと思いますので、git 2.28.0 にバージョンアップしたらgit config --global init.defaultBranch mainと設定を変更しておくと良いと思います。
2020年10月1日以降に訪れた方へ
git push したらnew branch としてmasterが作られた!

そんな事がありましたか?
2020年10月1日に、GitHubではmaster branchがmain branchに強制変更されております。
慌てずにmain branchにmergeして、git fetch して git checkout main して git pull しましょう。
2020年8月27日更新 GitHubはdefault branch強制変更を表明
上で「将来的にはbrunchはmainに変わっていくだろうと思います」と言いましたが、default branchがmaster branchのときはmain branchに強制的に変更されることが発表されました。
今後のためにもgit 2.28 をインストールしてdefault branchの変更設定をしておくことをオススメします。
登録済みRepositoryをmainに変更する
右側のメニューからSettingを選びます。

SettingからRepositoryを選びます。

Change default branch name now を押下すると自分の所有しているRepositoryを一気に変更します。
参加しているグループも一気に変更するので、変更するときは事前にグループでお話をしてからにしましょう。
以下のRepository個別対応が、今のところオススメです。
Repository個別対応
変更するRepositoryを選びます。
branch を押下する。

main と入力して、Create branch: main を押下する。

main に切り替わりました。

しかしdefaultには切り替わっていません。

branchesを押下すると、一番上にdefault branchがあるので、Change default branchを押下します。

mainを選択してください。

Updateを押下します。

確認画面が出ます。

完了です。

なお、コマンドでは既存Repositoryのdefault branch変更はできません。
コマンドラインでできるのはbranchの追加か、branch名の変更だけです。
branch名の変更をコマンドで行うときは以下のとおりです。
git branch -M main git remote set-head origin main git push -u origin main
GitHubでデフォルトbranchをmainに変更したら。
以下のコマンドでmasterが消せます。
git push origin :master
おまけ
2020年8月27日にGitHubのサイトを確認するとbranchの新規作成後のメッセージでgit branch -M masterが追加されていました。
2020年10月1日からはgit branch -M mainに変わるでしょう。
2020年7月29日のスクリーンショットです。

2020年8月27日のスクリーンショットです。
