10月よりGitHubは既定でmain
をブランチ名として使用するようになりましたが、この記事では以前既定だったmaster
ブランチをmain
ブランチに改名する方法を例としています。
使うリポジトリ
初回コミットしかしていないほぼ真っさらな状態、ですがたくさんのコミットログがあっても適用可能なはずです。
注意
GitHubではデフォルトブランチの削除が許可されていないため、master
ブランチを改名するときは手順3でデフォルトブランチを確実に変更してください。
手順1 ローカルブランチを改名
# git branch -m (変更前のブランチ名) 変更後のブランチ名
git branch -m master main
-m
は--move
、ブランチを移動する、すなわち改名するためのオプションです。
なお、現在チェックアウトしているブランチの名前を変える時は変更前のブランチ名
は省略可能です。
手順2 改名後のブランチをpush
# git push -u origin 変更後のブランチ名
git push -u origin main
GitHubにmain
ブランチをpushする操作です。新しくmain
ブランチを作成したので、-u
(--set-upstream
)オプションで上流ブランチを設定します。このオプションを忘れたまま改名後にブランチを明示しないgit push
を実行するとエラーが発生します。
手順3 GitHubで既定のブランチを変更する
※ もともと既定だったブランチ以外を変更するときにはこの操作は必要ありません。
リポジトリのSettings
→左メニューBranches
→Default branch
のところで、master
となっているところをmain
に変更して、Update
を押します。
モーダルにも書かれる通り、Pull RequestやCloneに悪影響が出る可能性があります。
default
がmain
に移りました。
手順4 masterブランチの削除
GitHubのブランチ一覧を表示、ゴミ箱のマークを押して削除、もしくはコマンドラインで
# git push origin :変更前のブランチ名
git push origin :master
を実行しても削除可能です。
master
ブランチが消えました。
コミットが1回しかされていないため分かりにくいですが、コミットログが正常に引き継がれています。