Kiedyś git branch -d myBranch
usuwałem oddział. Jednak kiedy jestem na master i próbuję wyewidencjonować nową gałąź z git checkout
, myBranch
nadal pojawia się w autouzupełnianiu kart.
Jak usunąć nazwę myBranch
z autouzupełniania kart git checkout
?
git branch -a
nadal lista albomyBranch
alboorigin/myBranch
? Zauważ, że nawet jeślimyBranch
nie istnieje,git checkout myBranch
nadal jest poprawnym skrótem dogit checkout -b myBranch origin/myBranch
iforigin/myBranch
istnieje.Odpowiedzi:
Jednym z możliwych powodów jest to, że jeśli zdalna gałąź (np.
origin/myBranch
) Nadal istnieje, togit checkout myBranch
odniesie sukces jako alternatywa dlagit checkout -b myBranch origin/myBranch
. Ma to na celu wygodę w typowym przypadku wyewidencjonowania zdalnego oddziału po raz pierwszy, tworząc lokalną gałąź śledzenia o identycznej nazwie.Są też inne możliwości, w zależności od tego, czego dokładnie używasz do wykonania, ale to jedna z pierwszych rzeczy, które sprawdzę. Jeśli biegasz
git branch -a
i jest naorigin/myBranch
liście (lub jeden dla pilota innego niżorigin
, jeśli taki masz), to jest to prawdopodobnie winowajca.źródło
origin/myBranch
wciąż istnieje. Jeśli usunąłemmyBranch
oddział na Github (przez interfejs online), czy mogę bezpiecznie zadzwonić wgit branch -d origin/myBranch
celu usunięcia tego zdalnego oddziału?git fetch --prune origin
. Spowoduje to wyczyszczenie wszystkich lokalnych gałęzi śledzenia, które już nie istnieją na pilocie.git fetch --prune origin
lokalne odniesienia do zdalnych oddziałów zniknęły w autouzupełnianiu. Dobrze byłoby przenieść to z komentarza do odpowiedzi. W każdym razie dziękuję za twoją odpowiedź, ponieważ pomogła mi!git branch -a
zaprowadził mnie na właściwą drogę; mój współpracownik zasugerował,git fetch --prune --all
aby przyciąć wszystkie martwe gałęzie ze wszystkich pilotów, co jest przydatne podczas pracy z wieloma programistami z dużą ilością widelców.git fetch --prune --all
Publikując to jako własną odpowiedź, ponieważ jest to poprawka w jednym wierszu, ale jeśli zagłosujesz, pamiętaj, aby zagłosować na powyższą odpowiedź @ twalberg.
sugestia @ twalberga, aby
git branch -a
poprowadzić mnie na właściwą drogę; mój współpracownik zasugerował,git fetch --prune --all
aby przyciąć wszystkie martwe gałęzie ze wszystkich pilotów, co jest przydatne podczas pracy z wieloma programistami z dużą ilością widelców.źródło