2013-07-09 13 views
11

私はこれまでに説明したことを知っていますが、私は以下を試しましたが、リモートブランチを削除できないようです。Gitを使ってリモートブランチを削除するには?

[email protected]:~/workspace/3DOD_VARIANCE$ git branch -a 
* master 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/master 
    remotes/origin/multi_gauss_at_nodes 
    remotes/origin/old-state-with-mean-deviation-from-centre 
    remotes/origin/variance-branch 


[email protected]:~/workspace/3DOD_VARIANCE$ git branch -r -d origin/old-state-with-mean-deviation-from-centre Deleted remote branch origin/old-state-with-mean-deviation-from-centre (was 0ed90b2). 


Fetching origin 
From https://bitbucket.org/alykhantejani/3dobjectdetection 
* [new branch]  old-state-with-mean-deviation-from-centre -> origin/old-state-with-mean-deviation-from-centre 

ご覧のとおり、ブランチが再度フェッチされました。私が間違っていることは何か考えていますか?

また、削除する前にこのブランチがすでにマージされているかどうかを確認する方法がありますか?リモートブランチの実行を削除するには

+1

可能重複ローカルとGitHubのGitブランチ?](http://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-both-locally-and-in-github) – Livius

+0

@Liviusこんにちははい、私はこの質問を最初に言及しましたが、運がありません – Aly

+0

"いいえ、運がいい"というのは役に立つエラーレポートではありません。あなたの質問には、あなたがそこに与えられた解決策を試したことが記載されていないのはなぜですか? – Chronial

答えて

17

を試してみてくださいちょうど "n 「リモートサーバへの道:追記用

git push origin :old-state-with-mean-deviation-from-centre 

:Gitはあなたが使用する場合マージされていないブランチを削除しないように、 『すべてのOブランチgitのブランチ-d』を(して使用することを示しています - とにかくそれを本当に削除する場合はD)。

はまた、新しいフェッチが再作成されます理由です、git branch -d -r <branch name>はあなたの.gitフォルダ内の参照(やないリモートサーバー上に実際のブランチ)を削除気づくこと

私は削除する方法[の
+0

ありがとう、これは問題を解決しました。これが私のために失敗するように、リモートブランチ名にオリジン/修飾子が必要ないことを強調してください。 – Aly

+1

"branch"コマンドでできることは、ローカルのリポジトリ(.gitフォルダ)に関するものです。 'git branch -d -r origin/master'ファイルは、.git/refs/remotes/origin/master(sha1を含む)ファイルは削除されますが、サーバ上のものは削除されません("ブランチ名の一部を表す "マスター")。 'git push:origin/old-branch'と入力すると、存在しないブランチ" origin/old-branch "(名前空間としての出所)を削除しようとします。 – Asenar

18

は以下:

git push origin :branch-to-delete 

をトリックは、コロン

+0

削除する前に、このブランチがマスターにマージされているかどうかチェックする方法はありますか? – Aly

+0

git branch - そのブランチを含みます。それはそのブランチを含んでいるブランチのリストを提供します、あなたのブランチがリストにあれば、それを削除できます。 – grafa

+0

上記のコマンドを試して、次のようにしてください:修飾されていない宛先にプッシュすることができません:原点/古い偏移を中心から宛先のrefspecがリモートの既存のrefと一致しないか、 がrefs/ – Aly

2

にある全押しコマンドは、次の

git push <remote name> <local branch>:<remote branch> 

ある

git push origin :remote_branch_to_be_deleted 
関連する問題