[解決済み】GitHubでブランチの名前を変更する。
2022-03-25 10:51:29
質問
を使ってローカルブランチの名前を変更したところ
git branch -m oldname newname
が、これはローカルバージョンのブランチの名前を変更するだけです。GitHub にあるブランチの名前を変更するにはどうすればいいのでしょうか?
解決方法は?
前述の通り、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
シェルコマンドの位置指定引数は、古い (2.8 より前の?) バージョンの Git では問題があったので、エイリアスは Git のバージョンによって異なるかもしれません。参照 本論 をご覧ください。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] GitHubです。パーミッションが拒否されました (公開鍵)。
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] Git のローカルブランチとリモートブランチの両方の名前を変更するにはどうすればよいですか?
-
[解決済み】位置指定パラメータを使用したGitエイリアス
-
[解決済み] プルリクエスト中にブランチの名前を変更する