git ブランチ名変更:ローカルとGitHub上の両方を変更する手順
git branch -m でブランチ名を変更できます。ローカルだけなら1コマンドで完了しますが、リモートにプッシュ済みの場合は追加の手順が必要です。
ローカルのブランチ名を変更する
現在チェックアウト中のブランチを変更する
git branch -m 新しいブランチ名
別のブランチを変更する(チェックアウト不要)
git branch -m 古いブランチ名 新しいブランチ名
チェックアウトしていないブランチも変更できます。
同名のブランチが既に存在する場合
通常はエラーになります。強制的に上書きするには -M(大文字)を使います。
git branch -M 新しいブランチ名
ステージ状態は関係ない
git branch -m は staged・unstaged・untracked ファイルがある状態でも実行できます。git checkout や git switch と違い、作業中の変更に影響しません。
リモートにも反映する
リモートにプッシュ済みのブランチは、ローカルで名前を変えてもリモートには反映されません。以下の手順で反映します。
1. ローカルのブランチ名を変更する
git branch -m 古いブランチ名 新しいブランチ名
2. リモートの古いブランチを削除する
git push origin --delete 古いブランチ名
3. 新しい名前でリモートにプッシュする
git push origin 新しいブランチ名
4. upstream(追跡先)を再設定する
ローカルブランチの追跡先が古いブランチ名のままになっているため、更新します。
git push --set-upstream origin 新しいブランチ名
または短縮形:
git push -u origin 新しいブランチ名
手順をまとめて実行する
よく使うのは「現在のブランチを rename してリモートに反映」するパターンです。
# 1. ローカルのブランチ名を変更 git branch -m 新しいブランチ名 # 2. リモートの古いブランチを削除 git push origin --delete 古いブランチ名 # 3. 新しい名前でプッシュして upstream を設定 git push -u origin 新しいブランチ名
GitHub のデフォルトブランチを変更する
main → master のようにデフォルトブランチ自体を変更する場合は、GitHub の Settings から変更します。
- リポジトリの Settings を開く
- Branches → Default branch を選択
- 新しいブランチ名に変更して Update をクリック
CLI で変更する場合は gh コマンドを使います。
gh repo edit --default-branch 新しいブランチ名
まとめ
| 操作 | コマンド |
|---|---|
| 現在のブランチを rename | git branch -m 新しい名前 |
| 別のブランチを rename | git branch -m 古い名前 新しい名前 |
| 強制上書き | git branch -M 新しい名前 |
| リモートの旧ブランチを削除 | git push origin --delete 古い名前 |
| 新しい名前でプッシュ | git push -u origin 新しい名前 |
| デフォルトブランチを変更(CLI) | gh repo edit --default-branch 新しい名前 |
Git の便利なコマンドを他にもまとめています。「Git & GitHub Tips集:知っておくと便利なコマンド・操作まとめ」も参照してください。