ローカルブランチの名前を変更しました
git branch -m oldname newname
しかし、これはブランチのローカルバージョンの名前のみを変更します。 GitHub 上のブランチの名前を変更するにはどうすればいいでしょうか?
ベストアンサー1
前述のように、GitHub 上の古いものを削除して再度プッシュしますが、使用されるコマンドは必要以上に冗長です。
git push origin :name_of_the_old_branch_on_github
git push origin new_name_of_the_branch_that_is_local
コマンドを少し分析すると、git push
基本的に次のようになります。
git push <remote> <local_branch>:<remote_branch>
したがって、local_branch を指定せずにプッシュすることは、本質的に「ローカル リポジトリから何も取得せず、それをリモート ブランチにする」ことを意味します。私はこれを完全に場違いだと常に思っていましたが、それが実行方法です。
現在git 1.7 についてリモート ブランチを削除するための別の構文があります:
git push origin --delete name_of_the_remote_branch
コメントで@void.pointerが述べたように
2 つのプッシュ操作を組み合わせることができることに注意してください。
git push origin :old_branch new_branch
これにより、古いブランチが削除され、新しいブランチがプッシュされます。
これは、リモート、元のブランチ、新しいブランチ名を引数として取る単純なエイリアスに変換できます~/.gitconfig
。
[alias]
branchm = "!git branch -m $2 $3 && git push $1 :$2 $3 -u #"
使用法:
git branchm origin old_branch new_branch
シェルコマンドの位置引数は、Gitの古いバージョン(2.8より前?)では問題があったため、エイリアスはGitのバージョンによって異なる可能性があることに注意してください。この議論詳細については。