2012-01-06 20 views
14

私は2つのリモートブランチ持っている:私はこのようなpending-issues-in-project削除しようとしましたGitHubのリモートブランチを強制的に削除する方法は?

- pending-issues-in-project 
- new-issues-in-project 

を:
git push origin :pending-issues-in-projectを、私はエラーだ:だから私はpending-issues-in-projectブランチを削除してしまったかもしれ思っ

error: unable to push to unqualified destination: pending-issues-in-project 
The destination refspec neither matches an existing ref on the remote nor 
begins with refs/, and we are unable to guess a prefix based on the source ref. 
error: failed to push some refs to '[email protected]:forkedRepo/RepoName.git' 

をしかし、私が実行するとき
git branch -aそれはリストにpending-issues-in-project枝を示しています。
new-issues-in-projectと同じ(削除しようとしました)試みたときに機能しました。
私はすでにローカルサーバーから両方のブランチをgit branch -D branchNameを使って削除しました。

ブランチがリポジトリに存在しないためにエラーが発生した場合は、 なぜリモートブランチリストに入っていますか?

リモートブランチを強制的に削除する方法はありますか?

お時間をいただきありがとうございます。

+0

git branch -rとは何ですか? –

+0

私は削除しようとしている起点/保留中のissue-in-projectも持っているブランチリストを与えています。 –

答えて

19

あなたはしなければならない。

git remote prune origin 

をローカルのgitリポジトリにそのリモート追跡ブランチを削除するには(プルーンはもう遠隔起源に存在しない任意の枝を取り除きます)。その後、表示されませんgit branch -a

7

あなたが見ているブランチは、リモート[トラッキング]ブランチと呼ばれるものです。それはあなたのローカルリポジトリにあり、それはリモートリポジトリのそのブランチを最後に見た場所を表します。 Gitはこのようなブランチを使用しているので、処理するたびにリモートリポジトリと話をする必要はありません。更新/フェッチを一度だけ行うと、リモートラッキングブランチが更新され、それに基づいて作業することができます。あなたの場合、リモートリポジトリ内のブランチは、削除されてから長いです。ローカルリポジトリでコピーを削除するだけで済みます。

そこには、それを削除するには、2つの主な方法は以下のとおりです。

  • git branch -d -r origin/pending-issues-in-projectはちょうどそのブランチを削除します。このような古いリモートブランチはすべて削除されます。同時に更新することもできます:git remote update --prune origin
0

forgive my clumsy english。あなたが私の答えを理解できることを願っています。

  1. コマンドgit push origin :pending-issues-in-projectが間違っている可能性があります。たぶんあなたの意味は:git push origin pending-issues-in-project。それはギブスに枝を押し込む。

  2. ブランチがリポジトリに存在しないためにエラーが発生した場合、なぜリモートブランチリストに入るのでしょうか? gitは分散バージョン管理システムであるため、githubのサーバーには.gitリポジトリとそれにプッシュするデータを格納するデータベースがあります。したがって、あなたのuseコマンド:git branch -de branchNameを実行すると、ローカルブランチが削除され、githubの.gitとそれにプッシュしたデータに干渉しません。

  3. リモートブランチを強制的に削除する方法はありますか? はい、可能です。コマンドは次のとおりです。git's distributed feature

    git push origin --delete <branchName> 
    
  4. あなたはgitのバージョン管理システムの配布機能の詳細を知りたい場合は、便利なリンクを見つけることができます。

    gitでgithubのブランチを削除する方法について知りたい場合は、hereについて読むことができます。

+0

あなたは何を正確に求めていますか?申し訳ありませんが、あなたの投稿を編集した後でも、私は理解が困難です。 – Quillion

関連する問題