9

最近、Git リポジトリ構成ファイルでリモート リポジトリにいくつかの変更を加えました。リモート名の名前を変更し、オリジンを別のリモート リポジトリに変更し、古いオリジンの名前を変更しました。

たとえば、私は以前にこれを持っていました:

[remote "origin"]
   url =  blah blah

[remote "future"]
   url = blah blah

私は入って変更したので、次のようになります。

# formerly the origin
[remote "old-origin"]

# formerly the future repo
[remote "origin']

しかし、今、入力するとgit branch -a、古い「未来の」リモートからリストされたブランチが表示されます。

remotes/origin/HEAD
remotes/origin/branch1
remotes/origin/branch2
remotes/future/branch1
remotes/future/branch2
remotes/old-origin/master
remotes/old-origin/branch3

プルーンやフェッチなどを実行しましたが、そのリストは更新されません。構成ファイルで「将来」を検索しましたが、何も表示されません。このリストを更新して、存在しないリモートの表示を停止するために実行できるコマンドはありますか?

4

1 に答える 1

14

以前は という名前のリモートがありましたが、future今はありません。

したがって、という名前のリモートがないため、役に立ちません。(通常、上記のコメントのようにorを使用すると、これらを取り除くことができます。)git remote whatever futurefuturegit remote update -pgit remote prune

最も簡単なオプションは、それらを手動で削除することです。

git update-ref -d refs/remotes/future/branch1
git update-ref -d refs/remotes/future/branch2

(またはrm -r .git/refs/remotes/future、および/または edit .git/packed-refs、これらの参照がパックされているかどうかに応じて)。

[ちなみに、私も実行しgit config -e(または、vi .git/configこれは私が通常実際に行っていることです :-) )、futureリモートへの残りの参照が他にないことを確認します。]

于 2013-10-10T14:41:59.667 に答える