Gitでローカルブランチ、リモートブランチの名前を変更(リネーム)する方法
はじめに
今更のエントリではありますが、Git でブランチ名を変更する方法を毎回忘れてわざわざ以下のステップを実行しているのでいいかげん整理しておこうと思いました。
この方法でブランチはリネーム出来ますが、面倒であることや git push
しリモートブランチとして反映されてしまった場合に対応でき ません。
検証環境
準備
今回の学習のために、シンプルな Git ローカル環境を作成しておきます。
一部、表示されるブランチ名が環境によって main
だったり master
だったりと違いがあります。
お使いの環境に合わせて読み替えてください。
1. ローカルブランチの名前を変更 ( リネーム ) する方法
ローカルブランチの名前を変更する方法です。
冒頭で紹介した方法は以下のような手順を踏みましたが、名前の変更方法を知っていれば 1 コマンドで実現可能です。
- 新しいブランチを作成する
- 古いブランチを削除する
現在のブランチをリネームする
git branch
でアスタリスク *
が表示されるブランチ名が正しいブランチ名になっていることがわかります。
ポイントは -m
オプションです。
現在のブランチ以外をリネームする
現在のブランチ以外をリネームしたい場合があります。
例えば以下のように、 main
ブランチにいる場合です。
現在のブランチは main
のままで、他のブランチをリネームできました。
2. リモートブランチの名前を変更 ( リネーム ) する方法
ローカルブランチではなく、リモートブランチ名を変更したい場合は少し面倒です。
まずは先の 「1. ローカルブランチの名前を変更 ( リネーム ) する方法」 のとおりにローカルブランチ名を変更します。
次に 古いリモートブランチを削除 します。
--delete
オプションを使用せず git push orignin :間違ったブランチ名
でも同じ結果が得られます。
最後に 正しいローカルブランチ名をプッシュし、リモートブランチを作成 します。
ちなみに 「リモートブランチの削除 + リモートブランチの作成」 は、 git push origin :間違ったブランチ名 正しいブランチ名
というコマンドで代用可能です。
この場合、 リモートブランチ「間違ったブランチ名」 が削除され、同時に ローカルブランチ「正しいブランチ名」 でリモートブランチが新設されます。
手順はこちらのほうが少ないです。
おまけ : git rename
コマンドをエイリアスとして登録しておく
git branch -m
を頻繁に利用するケースは多くありませんが、 わかりやすい名前で alias として登録しておくと便利です。
(僕はタイポのせいで多いですが ^^;
)
以下のように利用します。
便利に使えます。
git rename 正しいブランチ hoge
のようにすれば、カレントブランチ以外もリネームできます。
ひとこと
これでまた、自分のサイトを検索する機会が増えそうです。
多分僕が「ゲンゾウ用ポストイット」の一番のヘビーユーザーです 。
ディスカッション
コメント一覧
> ちなみに 「リモートブランチの削除 + リモートブランチの作成」 は、 git push :間違ったブランチ名 正しいブランチ名 というコマンドで代用可能です。
originが抜けているのではないでしょうか。
正しくは
git push origin :間違ったブランチ名 正しいブランチ名
かと。
> @for2ando さん
ありがとうございます!
おっしゃるとおり、 `origin` の記載漏れですね。
修正しておきました。