Odpowiedzi:
Aby zaktualizować lokalną listę zdalnych oddziałów:
git remote update origin --prune
Aby pokazać wszystkie lokalne i zdalne gałęzie, o których (lokalny) Git wie
git branch -a
git remote update origin --prunewłaśnie tego szukałem
git remote update, a odpowiedzią zaakceptowaną, która wykorzystuje git fetch, zobacz tutaj
git fetchnie usunąłem mojej lokalnej pamięci podręcznej zdalnych gałęzi. Tylko --prunebył w stanie wszystko wyczyścić.
git config remote.origin.prune true
git remote prune originma ten sam efekt i piszesz mniej.
Wierzę, że jeśli uruchomisz git branch --allz Bash, to lista zdalnych i lokalnych gałęzi, które zobaczysz, będzie odzwierciedlała to, o czym twój lokalny Git „wie” w momencie uruchomienia polecenia. Ponieważ Twój Git jest zawsze aktualny w odniesieniu do lokalnych oddziałów w twoim systemie, lista lokalnych oddziałów zawsze będzie dokładna.
Jednak w przypadku zdalnych oddziałów nie musi tak być. Twój lokalny Git wie tylko o zdalnych gałęziach, które widział podczas ostatniego pobierania (lub ściągania). Możliwe więc, że możesz uruchomić git branch --alli nie zobaczyć nowej zdalnej gałęzi, która pojawiła się po ostatnim pobraniu lub ściągnięciu.
Aby upewnić się, że Twoja lokalna i zdalna lista oddziałów jest aktualna, możesz to zrobić git fetch przed uruchomieniem git branch --all.
Aby uzyskać więcej informacji, „zdalne” gałęzie, które pojawiają się podczas uruchamiania, git branch --allnie są wcale zdalne; w rzeczywistości są lokalne. Załóżmy na przykład, że na pilocie znajduje się gałąź, featurektórą przynajmniej raz ściągnąłeś do lokalnego Gita. Po origin/featureuruchomieniu pojawi się na liście jako gałąź git branch --all. Ale ta gałąź jest w rzeczywistości lokalną gałęzią Git. Gdy to zrobisz git fetch origin, ta gałąź śledzenia zostanie zaktualizowana o wszelkie nowe zmiany ze pilota. Dlatego stan lokalny może stać się nieaktualny, ponieważ mogą istnieć nowe gałęzie zdalne lub gałęzie śledzące mogą stać się nieaktualne.
git fetchzrobiłem to.
git fetchnie działa dla mnie, trzeba dodać --prune. Btw, nie jestem zwycięzcą;)
git fetchnie usuwa usuniętych zdalnych gałęzi. Prawdopodobnie dlatego niektórzy głosowali
OP nie poprosił o oczyszczenie wszystkich pilotów, a raczej wszystkich gałęzi domyślnego pilota.
Tak więc git fetch --prunenależy użyć.
Ustawienie git config remote.origin.prune truepowoduje --pruneautomatyczne. W takim przypadku wystarczy git fetchrównież przyciąć przestarzałe zdalne gałęzie z lokalnej kopii. Zobacz także Automatyczne przycinanie za pomocą Git fetch lub pull .
Zauważ, że to nie czyści lokalnych oddziałów, które nie śledzą już zdalnego oddziału. Zobacz Jak przycinać lokalne gałęzie śledzenia, które już nie istnieją w tym celu na odległość .
git fetch -p
Służy git fetchdo pobierania wszystkich ostatnio utworzonych gałęzi.
git fetchnic nie zmieniło dla mnie w git 2.17.1. Z jakiej wersji i opcji korzystałeś?
--prunealbo, git config remote.NAME.prune trueżeby rozwiązać pytanie OP
Jeśli używasz Eclipse i chcesz zobaczyć nowe gałęzie z góry;
W perspektywie Git kliknij prawym przyciskiem myszy repozytorium Git, a następnie wybierz „Pobierz z pobierania”. Spowoduje to pobranie nowych zdalnych gałęzi.
Jeśli używasz Eclipse,
Wszyscy powinni tam być. Kliknij prawym przyciskiem myszy i „kasy”.
git ls-remotemoże być tutaj interesująca.