2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHubのデフォルトブランチを改名する手順

Last updated at Posted at 2021-11-09

この記事では

  • 改名したブランチを古いブランチから複製する
  • 古いブランチを削除する

という手順を紹介しています。

ブランチを直接GitHub上で改名する場合は、以下の記事を参照してください。

はじめに

この記事は、GitHubリポジトリのデフォルトブランチを改名する手順を共有するためのものです。

必要となる情報はすべてインターネット上にありますが、分散しているため作業手順を1つの記事にまとめました。

前提とする環境

この記事は、以下の環境を前提に書かれています。

  • git version 2.30.1

GitHubのUIは、2021/11/09時点のものを前提としています。GitHubのバージョンアップによりUIは変わりますのでご注意ください。

前提とするリポジトリ構成

この記事では、改名前のブランチ名をmaster、改名後のブランチ名をmainとしています。ブランチ名はお手元の環境に合わせて読み替えてください。また、リモートリポジトリの名前はoriginとします。

改名の手順

ローカルで、ブランチ名を変更する

git branch -m master main

このコマンドで、ローカルのmasterブランチがmainブランチに改名されます。-mオプションは--moveの短縮表記です。

変更したブランチをリモートにpushする

git push -u origin main

改名したブランチをリモートにpushします。この時点で、リモートには改名前のmasterブランチとmainブランチが共存しています。

GitHub上で、デフォルトブランチを変更する

SettingsBranchesDefault branchの左右矢印ボタンを押すと、デフォルトブランチが切り替わります。

矢印ボタンが表示されない場合は、リモートにmainブランチがpushできていません。再度pushしてください。

古いブランチを削除する

git push origin :master

リモートのmasterブランチを削除します。:は本来<ローカルのブランチ名>:<リモートのブランチ名>という書式でブランチ名を指定するものです。今回は<空>:<リモートのmaster>を指定し、リモートのブランチ削除コマンドとして利用しています。

リモートのHEADを再設定する

git remote set-head origin --auto

デフォルトブランチが削除されたため、origin/HEADが未指定になります。set-headコマンドでHEADを再指定します。

コマンドのショートカット

複数回のリネーム作業用にコマンドを連結します。この処理はGitHub CLIがインストールされていることを前提にします。

git checkout master && git pull && git branch -m master main && git push -u origin main && gh browse --settings

ブラウザーでデフォルトブランチを変更してから、リモートのmasterブランチを削除します。

git push origin :master && git remote set-head origin --auto

以上、ありがとうございました。

参考記事

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?