2011-08-16 13 views
35

私はmasterとexperimentalの2つのgitブランチを持っています。リモートgitブランチの名前を変更する

実験的にうまく行きました。私はそれをマスターにしたいと思います。私は周りのものをシャッフルする名前の変更と考えましたが、ここで私が得たものである:

nutebook:Stuff nathan$ git remote rename master old 
error: Could not rename config section 'remote.master' to 'remote.old' 

は私がGitHubのとGitのタワーを使用しています。

答えて

56

以下は、masterブランチの名前を変更するためのガイドです。実験ブランチの名前を変更するのと同じように簡単に動作します。

名前の変更の仕方は次のとおりです。

まず、作業ツリーで、ローカルに名前を変更して elseにします。あなたが枝の上にいる間ブランチの名前を変更

git branch -m master old-dev 

が作業を行い、その 何か他のものをチェックアウトする必要はありません。

その後、ローカル マスターにメンテナンスブランチ(2.63分岐)の名前を変更:

git branch -m 2.63-branch master 

、リモートでの混乱までの時間を。ちょっとした場合には、 は現在のバックアップがあることを確認してください。

git push origin master:refs/heads/master 

アップデート:新しいブランチを作成する場合は、レフリー/ヘッド/プレフィックスが上の必要 あるリモートあなたの新しいマスターを与え、

git push origin :master 

そして今:まず、 リモートのマスターを削除リモート側。ブランチが既に存在する場合(マスターが の場合)、ブランチ名のみがリモート側で必要です。

...そして、あなたの今、名前を変更し、古いマスター:

git push origin old-dev:refs/heads/old-dev 

最後に、 混乱を防止するために、あなたのメンテナンスブランチの古い名前を削除します。

git push origin :2.63-branch 

クライアントが今取得します」を彼らが引っ張ってくると、新しい「マスターブランチ」。

thisサイトを参照してください。

+7

これを追加するにはgithubで私の 'master'の名前を変更したいときは、最初に 'settings'のデフォルトブランチを変更しなければなりません(つまり 'git push origin:master')。 –

+0

ブランチの名前をローカルに変更し、リモートにプッシュして古いものを削除できますか? –

+1

プッシュする-uフラグは、新しいリモートのアップストリームトラッキングを設定するので便利です。 'git push -u origin master'(git 1.7を使うと、完全なrefs/headという接頭辞は必要ありません) –

1

masterはブランチであり、originのようなリモートではありません。あなたはmasterブランチへのあなたの実験的な作品を持っているしたい場合は、単純にそれをマージ:あなたがしようとした何

git checkout master 
git merge experimental 
0

は「古い」に「マスター」からのリモートリポジトリの名前を変更しました。別のリポジトリのブランチの名前を変更するには、

git push <remote> :<branch name> 

で削除してください。

4

私は最も簡単な方法は、実験ブランチをチェックアウトし、リモートマスターブランチを削除してから、新しいリモートマスターのものとしてローカルの実験的なものをプッシュすることだと思います。

// delete the remote master branch by pushing null 
// (the space in front of the semicolon) in this branch 
git push origin :master 
// push local experimental to remote master 
git push origin experimental:master 
1

あなたがMacユーザーなら、あなたは枝の名前を変更するためにGitHubのマックのApp(https://mac.github.com/)を使用することができます。

関連する問題