2013-06-11 9 views
7

Oto, co starałem dotąd:Próba usunięcia odległego oddziału; wymienione lokalnie, repo mówi, że nie istnieje

I:\Work\bitbucket\test.gadget [master]> git remote update 
Fetching origin 
I:\Work\bitbucket\test.gadget [master]> git branch -r 
    origin/HEAD -> origin/master 
    origin/imagesTest 
    origin/master 
    origin/work2 
I:\Work\bitbucket\test.gadget [master]> git push origin :imagesTest 
Password for 'https://[email protected]': 
error: unable to delete 'imagesTest': remote ref does not exist 
error: failed to push some refs to 'https://[email protected]/c_b/test.gadget.git' 
I:\Work\bitbucket\test.gadget [master]> 

Jak mogę oczyścić odniesienie do imagesTest z moim lokalnym repozytorium?
(Tak, mogę znowu zacząć przez klonowanie zdalnego repo., Ale wolałbym oczyścić lokalną kopię ...)
Dzięki za wszelkie spostrzeżenia ...

+0

Czy "git branch -D origin/imagesTest' zadziała? – Shahbaz

Odpowiedz

12

Zdalny oddział został prawdopodobnie usunięty przez innego osoby, ale twoje lokalne repozytorium nie wie o tym, dopóki nie uruchomisz git fetch --prune.

To polecenie usunie z lokalnych oddziałów repo, które już nie istnieje na zdalnym.

+0

To wszystko, dziękuję. – Number8

2

Twoja pierwsza komenda należy użyć przełącznika --prune

git remote update -p 

, który usunie usunięte zdalnych oddziałów ze wszystkich pilotów, które są aktualizowane

+0

Dobrze wiedzieć, dzięki. – Number8

+0

@ Number8 Nie ma za co. Najlepszym sposobem, aby powiedzieć "dzięki" na StackOverflow jest przejęcie. (Posuń, Posuń, wskazówka, wskazówka) –

0

Najbezpieczniejszym sposobem jest użycie

git remote prune origin 

I wolą używać mniej łączników i innych symboli interpunkcyjnych. Kod i polecenia muszą płynąć jak poezja, abyśmy mogli pisać szybciej, piszcie więcej!

Powiązane problemy