2016-11-26 3 views
0

私は、Herokuの2つの環境をう​​まく管理するために、this stepsに従っていました。すべて正常に動作しましたが、今はリモコンの古い名前を示すgitに問題があり、削除できません。Gitは存在しないHerokuリモートを表示しています

チュートリアルの前に、私はoriginherokuという2つのリモコンしか持っていませんでした。しかし、前述のように、慣例名はstagingproductionであるので、.git/configファイルを使ってherokustagingに変更しました。その変更では、stagingという名前を変更したため、ブランチが表示されないため、この指示に従わなければなりませんでした。"Cannot update paths and switch to branch at the same time"フェッチがトリックを作った。

プッシュ/プルとが展開するには、両方のHerokuののENVSで今非常に良い取り組んでいるが、Sourcetreeとgitのコンソールは、古いリモート名を示している、と私はそれを取り除くことはできません。

> git branch -avv 
* develop     [origin/develop] Merge branch 'dummy-fix' into develop 
dummy-fix     changed full vs first_name 
master     [origin/master] Merge branch 'develop' 
staging     [staging/master] Merge branch 'develop' into staging 
remotes/heroku/master  Merge branch 'develop' 
remotes/origin/develop Merge branch 'dummy-fix' into develop 
remotes/origin/master  Merge branch 'develop' 
remotes/production/master Merge branch 'develop' 
remotes/staging/master Merge branch 'develop' into staging 

リモートを

> git remote rm heroku 
error: Could not remove config section 'remote.heroku' 

これは私の.git/config(明確ではない本当のURL)である:remotes/heroku/masterは存在しshouln'tが、私がやるとき

+0

'リモコン/ Herokuの/ m​​aster'リモートではない、それは* *リモート追跡ブランチです。これらは(ほとんど)別々の概念です(対応するリモートがないリモート追跡ブランチを持つことはほとんど意味がありません)。 * remote *は単純な名前( 'origin'や' production'のような)です。* remote-trackingブランチ*はフルネームが 'refs/remotes /'で始まり、その後にリモート名が続きます。ブランチ名 – torek

答えて

1

私は掘り続けて、.gitフォルダには、configファイル内のリモートへの参照が多くあるようです。私は手動でフォルダheroku、または設定ファイルのrefを取り除いた3つの場所を見つけました。それはそれを修正するようです。今では、端末やSourcetreeの中でも、幽霊リモートが見えません。

enter image description here

+1

通常、リモートを削除すると、対応するリモート追跡ブランチがすべて削除されるはずです(質問に関する私の他のコメントを参照)。しかし何らかの理由でそれが失敗した場合は、 'git branch -r -d'を使ってコマンドラインからリモートトラッキングブランチを削除することができます。 – torek

+0

非常に便利な行です。ありがとう@torek – unmultimedio

+0

私の場合、私は/.git/refs/remotes/のすべてのブランチを削除し、SourceTreeを使ってリモートリポジトリを更新します。この後、私のゴーストレポはすべて消えてしまった。 RIP。 – laishiekai

関連する問題