1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2023-06-21

はじめに

ブランチ名を間違えた/後から変更したいときの手順

状況としては、プッシュ直後でローカルとリモートに差分がない状態

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

git branch -m を使用してブランチ名を変更する。

オプション -m はブランチ名の変更

引数を1つ指定した場合

引数1つ
$ git branch -m NEW_BRANCH_NAME
  • カレントブランチ名を、引数で指定したブランチ名に変更する
  • あらかじめ、名前変更したいブランチにcheckoutしておく必要がある

引数を2つ指定した場合

引数2つ
$ git branch -m OLD_BRANCH_NAME NEW_BRANCH_NAME
  • 1つ目の引数で指定したブランチの名前を、2つ目の引数で指定したブランチ名に変更する
  • カレントブランチに関わらず指定したブランチの名前を変更できる

既に存在しているブランチ名を指定した場合はエラーとなるが、 -M オプションを使用することで強制的にブランチ名を変更することが可能 (もともとあったブランチは消える)

参考

Git - git-branch Documentation

リモートブランチに反映

ローカルで名前変更したブランチをリモートにプッシュする。

$ git push -u origin NEW_BRANCH_NAME

このとき、リモートの OLD_BRANCH_NAME のブランチ名が変更されているわけではなく、NEW_BRANCH_NAME という別名のブランチが新規作成されていることに注意。

つまり、リモートには変更前のブランチが残ってしまっている。

リモートに残った変更前のブランチを削除

$ git push origin --delete 変更前のブランチ名

省略形のコマンドは以下

省略形
$ git push origin :変更前のブランチ名

上記のコマンドで、リモートに残った OLD_BRANCH_NAME が削除される

参考

Git - リモートブランチ

GitHub上でブランチ名を変更する

基本的にはローカルから先に変更するよりも↓の方法が単純でわかりやすい

ブランチの名前を変更する - GitHub Docs

GitHub上でブランチ名を変更した後、ローカルの対象ブランチで以下のコマンドを実行

# リモートで変更したブランチ名に合わせて対象のブランチ名を変更する。
$ git branch -m OLD-BRANCH-NAME NEW-BRANCH-NAME

# リモートの最新の状態をローカルに取得する
$ git fetch origin

# ブランチのリモート追跡ブランチを更新する
$ git branch -u origin/NEW-BRANCH-NAME NEW-BRANCH-NAME

# remote/origin/HEAD の情報をリモートから取得し、ローカルに同期する
$ git remote set-head origin -a
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?