Git: ブランチの名前を変更する
最終更新
ブランチの名前は git branch -m で変更します(-m は "move"(移動)の意味です)。引数が1つなら現在いるブランチの名前を変更し、2つなら任意のブランチを名前で指定して変更します。名前変更は完全にローカルな操作です。ブランチをすでにプッシュしていた場合は、リモート上の古い名前も削除して新しい名前をプッシュします。
これらをターミナルプレイグラウンドで試してみましょう。ブラウザ内で動く本物のシェルで、インストールは不要です。
構文
| Command | What it does |
|---|---|
git branch -m new-name | 現在いるブランチの名前を変更する |
git branch -m old-name new-name | 別のブランチを名前で指定して変更する |
git branch -M new-name | 強制的に名前を変更する(既存の名前を上書きする) |
リモートにあるブランチの名前を変更する
名前変更はローカルな操作なので、プッシュ済みのブランチには3つの追加手順が必要です。
| Step | Command | Result |
|---|---|---|
| 1 | git branch -m old new | ブランチの名前をローカルで変更する |
| 2 | git push origin --delete old | リモート上の古い名前を削除する |
| 3 | git push -u origin new | 新しい名前をプッシュして upstream を設定する |
Gitブランチの名前変更に関するよくある質問
現在いるブランチの名前を変更するにはどうすればよいですか?
新しい名前だけを指定して
git branch -m new-name を実行します。Git は現在のブランチをその場で名前変更します。あなたはそのブランチに留まったままで、コミットや履歴はそのまま保たれます。ブランチに切り替えずに名前を変更するにはどうすればよいですか?
両方の名前を渡します:
git branch -m old-name new-name。これは、現在別のブランチにいても old-name を new-name に変更します。すでにGitHubにあるブランチの名前を変更するにはどうすればよいですか?
git branch -m old new でローカルの名前を変更し、git push origin --delete old でリモート上の古い名前を削除し、次に git push -u origin new で新しい名前をプッシュしてその upstream を設定します。古いブランチを持っている他の人は、自分のローカルコピーを更新する必要があります。-m と -M の違いは何ですか?
-m(move)はブランチの名前を変更しますが、対象の名前を持つブランチがすでに存在する場合は拒否します。そのため、誤って別のブランチを上書きすることはありません。-M は名前変更を強制し、その名前の既存のブランチを上書きします。上書きするつもりが特にない限り -m を使ってください。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルでこれらのコマンドを実行できます。インストールは不要です。Coddy の無料のインタラクティブな Git コースでも、ブランチ操作を最初から最後までカバーしています。