Git でブランチ名前を変更する方法

最終更新:2022-02-23 by Joe

Git でブランチの名前を変更(rename)するためのコマンドについてです。付随する操作もまとめました。

ブランチの名前を変更する「git branch -m」

ブランチ名を変更するには git branch の コマンドの「-m, --move」オプションを使います。

この記事ではブランチ名の変更と、それに付随する Git 操作もフォローしていきますので、4つのステップで進みます。

1ローカルブランチ名の変更

早速やってみましょう。わかりやすさのために、ここではブランチ名を「new-branch」とリネームしますね。

# ブランチ名を変更する Git コマンド
$ git branch -m new-branch

「git branch --rename 」とかいうオプションではないので、なんだか一瞬覚えにくいですが、よく考えればLinux 環境のファイル名の変更と一緒ですね。

2名前変更したブランチを、リモートにも反映する

さきほど名前を変更したローカルブランチを、リモートにも反映します。「リモートブランチの名前を変える」といったコマンドはありませんので、git push してやる必要があります。

# 変更したブランチを Push します。
$ git push -u origin new-branch

-u は「--set-upstream」のショートハンドですね。upstreamは「上流ブランチ」の略です。

上流ブランチを設定しておくと、「git push」と引数無しで、コマンドするだけで、該当のブランチにPushできるようになったりします。「上流ブランチ」については、こちらの記事も見ておいてくださいね。

3変更前の古い名前のブランチをリモートから削除

ここまでの操作では、まだリモートに古いブランチ名「old-branch」に名前変更は反映されず、そのまま残ってしまっています。これを削除します。下記のいずれのコマンドでもかまいません。

# リモートブランチを削除するコマンド
$ git push --delete origin old-branch

# 同義
$ git push origin :old-branch

:my-old-branchというのは、コロンの前に本当はローカルブランチ名が来るはずなのですが、カラ文字なので、<空>をPUSHするという意味になるようです。

4古い名前のリモート追跡ブランチも削除

古いブランチのリモート追跡ブランチ(ローカル環境に作成されるものです)も同様に、変更は反映されず、に残っているはずですので、こいつも消してやります。下記のいずれのコマンドでもかまいません。

# リモート追跡ブランチを削除するコマンド
git branch -dr old-branch

# 同義
git branch --delete --remotes old-branch

「-r」 は「--remotes」のショートハンドですね。git branch は基本的にローカルのブランチを操作するコマンドです。

ブランチの削除については、こちらに詳しくまとめましたのでぜひどうぞ。

Git のブランチ名の変更に関する参考情報

ブランチ名の変更に関する、参考情報です。

こちらは公式ドキュメントへのリンクです:

以上になります。