Silinen şube adlarını otomatik tamamlamadan nasıl kaldırırım?


120

Ben kullanılan git branch -d myBranchbir şube silin. Usta am ve ile yeni bir şube ödeme çalıştığınızda Ancak git checkout, myBranchyine de sekme otomatik tamamlamada görünür.

İçin myBranchsekme otomatik tamamlamadan adı nasıl kaldırırım git checkout?


10
git branch -aHala ya ya myBranchda listeliyor mu origin/myBranch? myBranchMevcut olmasa bile, varsa git checkout myBranchiçin hala geçerli bir kısayol git checkout -b myBranch origin/myBrancholduğunu unutmayın origin/myBranch.
twalberg

2
@twalberg bir cevap olarak göndermeye değer.
cmbuckley

Yanıtlar:


81

Bunun olası bir nedeni, eğer uzak bir dal (örneğin origin/myBranch) hala mevcutsa, o git checkout myBranchzaman alternatif olarak başarılı olacaktır git checkout -b myBranch origin/myBranch. Bu, bir uzak şubenin ilk kez kullanıma alınmasına ilişkin yaygın bir durum için bir kolaylık sağlamak ve aynı adı taşıyan bir yerel izleme dalı oluşturmak için tasarlanmıştır.

Tamamlamak için tam olarak ne kullandığınıza bağlı olarak başka olasılıklar da var, ancak bu kontrol edeceğim ilk şeylerden biri. Koşarsanız git branch -ave origin/myBranchlistede bir tane varsa (veya originvarsa, dışında bir uzaktan kumanda için ), o zaman bu muhtemelen bir suçludur.


2
Teşekkürler! Suçlu bu gibi görünüyor. origin/myBranchhala var. myBranchŞubeyi Github'da (çevrimiçi arayüz aracılığıyla) sildiysem, git branch -d origin/myBrancho uzak şubeyi kaldırmak için aramam güvenli midir?
John Hoffman

99
@JohnHoffman Bu güvenli olmalı, ama daha iyi bir yol olacağını düşünüyorum git fetch --prune origin. Bu, artık uzaktan kumandada bulunmayan tüm yerel izleme dallarını temizleyecektir.
twalberg

3
@twalberg Yalnızca yerel ve uzak şubeyi silmenin, otomatik tamamlamadaki tüm eski şubelerden kurtulmak için yeterli olduğuna inanmıyorum. Sana inanmak gerek için git fetch --prune originotomatik tamamlamada gitmesini uzak dallarına yerel referanslar için. Bunu yorumdan cevaba taşımak iyi olabilir. Bana yardımcı olduğu için cevabınız için her durumda teşekkürler!
timmyl

4
git branch -abeni doğru yola yönlendirdi; İş arkadaşım git fetch --prune --all, tüm uzaktan kumandalardan tüm ölü dalları budamayı önerdi , bu da çok sayıda çatal içeren çok sayıda geliştiriciyle çalışırken yararlıdır.
ericsoco

173

git fetch --prune --all

Bunu tek satırlık bir düzeltme olduğu için kendi cevabı olarak yayınlamak, ancak oy verirseniz @ twalberg'in yukarıdaki cevabına oy verdiğinizden emin olun.

@ twalberg'in önerisi git branch -abeni doğru yola yönlendirdi; İş arkadaşım git fetch --prune --all, tüm uzaktan kumandalardan tüm ölü dalları budamayı önerdi , bu da çok sayıda çatal içeren çok sayıda geliştiriciyle çalışırken yararlıdır.


19
Kabul edilen cevap bunun neden olduğuna güzel bir açıklama verirken, bu cevap soruna gerçek bir çözüm sunar ve bu nedenle IMHO olarak kabul edilmelidir.
Patrick Oscity

3
otomatik tamamlamada hala ölü dalların adları gösteriliyor.
Fitsyu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.