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

ブランチを切って作業をした後(=つまり、コミット&プッシュ済)になってから、実はブランチの名前を間違っていたことに気づいた…。その時にブランチの名前を変更する方法を調査したので、その時の調査結果を以下に記載する。

現在のブランチの名前を変更する

以下のコマンドを実行する。

$ git branch -m [変更後の名前]

特定のブランチの名前を変更する

以下のコマンドを実行する。

$ git branch -m [変更したいブランチの名前] [変更後の名前]

既に存在するブランチの名前に変更する

以下のコマンドを実行する。

$ git branch -M [変更後の名前]

特定のブランチの名前を既に存在するブランチの名前に変更する

以下のコマンドを実行する。

$ git branch -M [変更したいブランチの名前] [変更後の名前]

おまけ:git branch -hの結果

$ git branch -h
usage: git branch [options] [-r | -a] [--merged | --no-merged]
   or: git branch [options] [-l] [-f]  []
   or: git branch [options] [-r] (-d | -D) ...
   or: git branch [options] (-m | -M) [] 

Generic options
    -v, --verbose         show hash and subject, give twice for upstream branch
    -q, --quiet           suppress informational messages
    -t, --track           set up tracking mode (see git-pull(1))
    --set-upstream        change upstream info
    -u, --set-upstream-to 
                          change the upstream info
    --unset-upstream      Unset the upstream info
    --color[=]      use colored output
    -r, --remotes         act on remote-tracking branches
    --contains    print only branches that contain the commit
    --abbrev[=]        use  digits to display SHA-1s

Specific git-branch actions:
    -a, --all             list both remote-tracking and local branches
    -d, --delete          delete fully merged branch
    -D                    delete branch (even if not merged)
    -m, --move            move/rename a branch and its reflog
    -M                    move/rename a branch, even if target exists
    --list                list branch names
    -l, --create-reflog   create the branch's reflog
    --edit-description    edit the description for the branch
    -f, --force           force creation (when already exists)
    --no-merged   print only not merged branches
    --merged      print only merged branches
    --column[=