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 のブランチ名の変更に関する参考情報
ブランチ名の変更に関する、参考情報です。
こちらは公式ドキュメントへのリンクです:
以上になります。