私はローカルブランチの名前を
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を指定せずにPushを実行するということは、「ローカルリポジトリから何も取得せずにリモートブランチにする」という意味です。私はいつもこれが完全におかしなものだと思っていましたが、それがやり方です。
編集: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
Shellコマンドの位置引数は、古い(2.8以前の)バージョンのgitでは問題があったため、エイリアスはgitのバージョンによって異なる可能性があります。詳しくは この議論 を参照してください。
以下のコマンドが私のために働きました:
git Push Origin :old-name-of-branch-on-github
git branch -m old-name-of-branch-on-github new-name-for-branch-you-want
git Push Origin new-name-for-branch-you-want
古いブランチを削除して新しいブランチを作成するだけです。
例(単にリモートブランチの名前を変更する):
git Push Origin :refs/heads/oldname
git Push Origin newname:refs/heads/newname
また、おそらくローカルブランチの名前を変更してプッシュ/プル先の設定を変更する必要があります。
私はあなたがあなたのgitブランチ名を変更する方法を3つのコマンドで見つけました、そしてこれらのコマンドはそれをするより速い方法です
git branch -m old_branch new_branch # Rename branch locally
git Push Origin :old_branch # Delete the old branch
git Push --set-upstream Origin new_branch # Push the new branch, set local branch to track the new remote
ステップバイステップで必要な場合は、この素晴らしい記事を読むことができます。
あなたは端末なしでそれをすることができます、あなたはただ新しい名前で枝を作成し、古い後に削除する必要があります。あなたはそれをするためにこの記事を使うことができます。
この記事では、それを本当に簡単に行う方法を説明します。
1。ローカルのGitブランチの名前を変更するには、Git branch -mコマンドを使って名前を変更します。git branch -m feature1 feature2
2。リモートGitブランチの名前を変更するコマンドを探しているだけなら、これがgit Push -u Origin feature2:feature3
これを行う前に、ブランチにタグがないことを確認してください。あなたはgit tag
でそれをすることができます。
私の場合は、追加のコマンドが必要でしたgit branch --unset-upstream
私の名前を変更したブランチをOrigin newname
にプッシュするように変更します。
(タイピングを簡単にするために)、私は最初にgit checkout oldname
です。
次に、以下を実行してください。
git branch -m newname
git Push Origin :oldname
またはgit Push Origin --delete oldname
git branch --unset-upstream
git Push -u Origin newname
またはgit Push Origin newname
git Push
-u
Origin oldname
を経由してブランチにリモートトラッキングを設定する傾向があるので、この追加の手順が必要になる場合があります。このようにして、oldname
をチェックアウトしたときに、git Push
ではなくgit Push Origin oldname
型のみが必要になります。
_ _ではないgit branch --unset-upstream
の前にgit Push Origin newbranch
コマンドを使用すると、gitはoldbranch
を再作成し、newbranch
をOrigin oldbranch
にプッシュします。私の意図を破った。
これは私のために働いたものです:
1.)最初に新しいブランチを作成します。git Push github newname:refs/heads/newname
2.)githubサイトで、設定に移動してDefaultブランチをnewnameに変更します。
3.)oldname gitを削除します。github --delete oldnameをプッシュします。
次のコマンドは、ブランチの名前をローカルに変更し、リモートの場所にある古いブランチを削除し、新しいブランチをプッシュして、新しいリモートを追跡するようにローカルブランチを設定します。
git branch -m old_branch new_branch
git Push Origin :old_branch
git Push --set-upstream Origin new_branch
別の方法は以下のファイルの名前を変更する:
.git/refs/head/[branch-name]
を.git/refs/head/new-branch-name
に名前変更.git/refs/remotes/[all-remote-names]/[branch-name]
を.git/refs/remotes/[all-remote-names]/new-branch-name
に名前変更ローカルPCのと起点/リモートサーバーのの両方で、head&remotesの名前を変更
現在のブランチ名にスラッシュ(/
)が含まれている場合、gitは以下のようにディレクトリを作成します。
現在のブランチ名:"awe/some/branch"
.git/refs/head/awe/some/branch
.git/refs/remotes/[all-remote-names]/awe/some/branch
支店名を希望します:"new-branch-name"
.git/refs/*/awe/some/
からbranch
ファイルをコピーする.git/refs/head/
に入れてください。.git/refs/remotes/*/awe/some/
からbranch
ファイルをコピーします。.git/refs/remotes/*/
に入れてください。branch
ファイルをnew-branch-name
に名前変更します。.git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/new-branch-name
awe/some/branch
からnew-branch-name
に変更されました(ローカルとリモート)。情報:この方法は最善ではないかもしれませんが、それでも人々のために働く他の方法で問題がある可能性がある人