導入
開発中に「ブランチの命名規約を間違えた」「Issue番号を書き間違えた」といったミスは、誰にでも起こり得ることです。Gitにはブランチ名を変更する git branch -m コマンドが用意されていますが、リモートリポジトリに既にプッシュ済みのブランチを扱う場合、単に名前を変えるだけでは不十分です。本記事では、リモート環境を含めた安全なブランチ名の変更手順と、現場で役立つ運用Tipsを解説します。
基礎知識
git branch -m は「move」の略で、ブランチの名前を変更するコマンドです。
ローカルだけで作業が完結している段階であれば、このコマンドを打つだけで済みますが、リモート(GitHubやGitLabなど)へプッシュ済みの場合は注意が必要です。Gitのリモートリポジトリは「名前が変わった」と認識するのではなく、「古い名前のブランチが消え、新しい名前のブランチが作られた」と認識するため、手動で古いリモートブランチを削除し、新しいブランチを追跡させるプロセスが必要になります。
実装/解決策
リモート環境まで含めたブランチ名変更の標準的な手順は以下の通りです。
1. ローカルでブランチ名を変更する
2. 新しい名前のブランチをリモートへプッシュする
3. リモート上の古い名前のブランチを削除する
4. ローカルの追跡元(Upstream)を新しいブランチに変更する
サンプルプログラム
以下の手順は、現在のブランチ名を「old-branch」から「new-branch」に変更する実用的なコマンドフローです。
1. ローカルブランチの名前を変更する
git branch -m old-branch new-branch
2. 新しいブランチをリモートへプッシュ(Upstreamとして設定)
git push -u origin new-branch
3. リモートの古いブランチを削除する
git push –delete origin old-branch
補足: もし別ブランチにいる状態で名前を変更したい場合
git branch -m 旧ブランチ名 新ブランチ名
応用・注意点
注意点1:チーム開発での事故防止
共同作業中のブランチ名を変更する場合、必ずチームメンバーに共有してください。他者が古いブランチをベースに作業を続けていると、マージコンフリクトや整合性の欠如が発生します。
注意点2:GitHubのデフォルトブランチ
メインブランチ(mainやmaster)の名前を変更する場合、GitHubなどのGUI側で「Default Branch」の設定変更が必要です。ローカルだけで変更しても、リモート側の保護設定が外れてしまう可能性があるため、設定画面を確認してください。
現場のTips:エイリアスの活用
頻繁にリネームが発生する環境であれば、.gitconfigにエイリアスを設定しておくと便利です。
[alias]
rename = branch -m
これで git rename [新名称] と入力するだけで済むようになり、タイプミスを減らすことができます。
命名規約の不一致は小さなストレスですが、正しい手順を踏めば安全に修正可能です。ぜひ本記事の手順を参考に、綺麗なリポジトリ状態を維持してください。

コメント