質問

現在のレポ-レートして以下の出力:

$ git branch -a
* master
  remotes/origin/master
  remotes/public/master

したい削除 remotes/public/master からの支店リスト:

$ git branch -d remotes/public/master
error: branch 'remotes/public/master' not found.

また、出力の git remote は不思議なせていないのでリスト public:

$ git remote show 
origin

を削除したい'remotes/public/士課程-博士前期課程からの支店です。

更新していました git push コマンド:

$ git push public :master
fatal: 'public' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
役に立ちましたか?

解決

が必要と清掃

git gc --prune=now

することが必要と、プルーン

git remote prune public

プルーン

すべて削除して陳腐追尾支店 <name>.これらの古枝てから取り除かれたリモートリポジトリによって参照される <name>が、まだ地域"でのご用意となりますremotes/<name>".

と--ドライランオプション報告書には何枝打にいとまがないが、無実際に剪定します。

しかし、これらのすべての清掃が挙げられ

git remote rm public 

rm

削除のリモート名 <name>.すべてのリモート追跡支店および構成設定のリモート を除去します。

何をやってもうまくいかないき手-編集設定ファイルことはできませんでしたが発生しやすい特典です。

か施設まで格安料金プランを再度、何が起こるか見てみてください.

バキ

ご覧に 改定履歴, んだことを示唆より"正しい"技術によるもので、何らかの原因になりたい仕事をリポジトリ

私は疑いのOPを行っていたものを残ツリーで矛盾した状態で起こで行動するのが少し不思議と、 git gc 必要な修正を残cruft.

通常 git branch -rd origin/badbranch なすのに十分であnuking地域追跡支店、または git push origin :badbranch のためのnukingリモート支店 通常ない 電話をする必要があり git gc

他のヒント

すべてを行う必要がある。

git fetch -p

これはリモートで削除されたすべてのローカルのブランチを削除いたします。

あなたはこれを自動的に設定することができます1.8.5+ gitの上にある場合

git config fetch.prune true

または

git config --global fetch.prune true
git push public :master
ケントフレドリックが指摘したように、

これは、リモートブランチという名前masterを削除することになります。

リモート追跡ブランチを一覧表示するには:

git branch -r

リモート追跡ブランチを削除するには:

git branch -rd public/master

すべてを行う必要がある。

$ git branch -rd origin/whatever 

これは単純なことです。ここでGCを呼び出すための理由はありません。

git gc --prune=nowは、あなたが望むものではありません。

git remote prune public

またはgit remote prune origin位もし遠隔ソース厥

は、

何をしたいです
refはパックされたときに

受け入れ答えは私のために動作しませんでした。しかし、これは行います:

$ git remote add public http://anything.com/bogus.git
$ git remote rm public

私の場合は.git/packed-refsで保存されたエントリを削除しようとしていました。あなたはこのプレーンテキストファイルを編集し、git br -Dが(少なくとも版1.7.9.5で)触れるする方法を知らないこと、それからエントリを削除することができます。

私はここで、この解決策を見つけた: https://stackoverflow.com/a/11050880/1695680

私は同様の問題がありました。回答のどれも助けません。私の場合は、恒久的に現れて2つの削除リモートリポジトリを持っています。

私の最後の考えは手でそれへのすべての参照を削除することでした。

リポジトリは、「レポ」と呼ばれているとしましょう。私がやった:

find .git -name Repo

対応するファイルとディレクトリを削除
grep Repo -r .git

これは私が対応する行を削除するいくつかのテキストファイルを見つけました。 今、すべてが正常であるように思われる。

通常はgitにこの仕事を残す必要があります。

私はgit branch -rd知りませんでしたので、私は自分のために、このような問題を解決した方法は、リモートリポジトリとしての私のレポを扱い、遠隔削除を行うことです。 git push . :refs/remotes/public/master。他の方法が機能しないと、あなたが取り除くしたいいくつかの奇妙な参照を持っている場合は、この生方法が確実なです。それは削除することがあなたに正確な精度を提供します(または作成します!)参照のいずれかの種類を。

わずかに関連したが、それでも私たちが持っていたのと同じような状況で役に立つかもしれません - 私たちはリモートリポジトリのためのネットワークファイル共有を使用します。先週の事は今週、我々はエラーを取得して、作業していた「遠隔起源は、分岐、参考文献/ヘッド/マスターのための文献を宣伝しませんでした。この文献は、リモートに存在していないか、または権限設定によって隠すことができる」

しかし、私たちは何も壊れて、物事に行われていなかったと信じていました。私はそれぞれの「以前のバージョン」を見直し、3日前に、リポジトリのMBでサイズは33メガバイトに282メガバイトから行っていた、約1403の新しいファイルやフォルダ300が現在存在していたことがわかりましたので、NFSは、スナップショットを行います。私は私の同僚を照会し、1は、その日のプッシュを行うにしようとした - それをキャンセル

私はそれを復元するためにNFS「復元」機能を使用するだけでその日の前に、今何もかもが再び正常に動作。私は助けるように見えるdidntは、以前にプルーンを試してみました。多分厳しいクリーンアップが働いていると思います。

これは他の誰か1日を助けるかもしれない願っています!

ジェイ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top