[Git] ブランチの名前を変更する

現在のブランチの状態が以下だったとして、developブランチの名称を変更してみます。

$ git branch -a
* develop
  master
  remotes/origin/develop
  remotes/origin/master

ローカルを変更

コマンドはgit branch -m [旧ブランチ名] [新ブランチ名] になります。

$ git branch -m develop develop2

ブランチ名が正常に変更されたか、ブランチの一覧を表示し確認すると、ローカルからdevelopブランチが消えdevelop2ブランチになったのがわかります。

$ git branch -a
* develop2
  master
  remotes/origin/develop
  remotes/origin/master

リモートを変更

これでローカル側の変更はできました。 リモートはどうするかというと、ローカルから新しい名前のブランチをpushして追加した後に、リモートの古いリポジトリを削除します。

$ git push origin develop2
Total 0 (delta 0), reused 0 (delta 0)
To /home/katsube/Work/test.git
* [new branch]      develop2 -> develop2

$ git push origin :develop
To /home/katsube/Work/test.git
 - [deleted]         develop

ブランチの一覧を表示し確認しておきましょう。

$ git branch -a
* develop2
  master
  remotes/origin/develop2
  remotes/origin/master

ここではローカル、リモートの順番に実施しましたが順番は問いませんので、リモートを削除した後にローカルからpushしても結果は同じです。

補足

現在いるブランチ名を変更

今現在いるブランチの名称を変更したい場合は、単に新しいブランチ名を指定するだけでOKです。

$ git checkout develop
$ git branch -m develop2

すでに存在するブランチ名を上書きする

大文字の-Mをオプションとして指定すると、問答無用で変更してくれます。

$ git branch -M develop develop2

うっかりミスを防ぐために、明示的にブランチを削除してから-mで変更する方が安全ではあります。

参考