W repozytorium git usunięto zdalną gałąź, której nie śledzę. Kiedy piszę
git branch -r
usunięta gałąź nadal się pojawia (i mogę to sprawdzić)
Jakie polecenie git muszę uruchomić, aby zaktualizować te informacje?
W repozytorium git usunięto zdalną gałąź, której nie śledzę. Kiedy piszę
git branch -r
usunięta gałąź nadal się pojawia (i mogę to sprawdzić)
Jakie polecenie git muszę uruchomić, aby zaktualizować te informacje?
Odpowiedzi:
Jeśli wykonasz coś takiego jak
git branch -d -r remote_name/branch_name
usuwasz tylko lokalną kasę. To polecenie nie robi nic ze zdalnym repozytorium, dlatego nadal się pojawia.
Rozwiązanie:
git push origin :branch_name
usunie zdalną gałąź (zwróć uwagę na „:”) i
git branch -d branch_name
usunie Twoją lokalną kasę.
( Odniesienie )
git push <remote> --delete <branchname>do usuwania zdalnych gałęzi.
Jeśli były to gałęzie w zdalnym repozytorium, które zostały usunięte i chcesz zaktualizować wszystkie lokalne gałęzie zdalnego śledzenia naraz, możesz użyć
$ git remote prune <remotename>
aby usunąć wszystkie przestarzałe gałęzie zdalnego śledzenia dla danego zdalnego (tj. te, które następują po gałęziach, które zostały usunięte w zdalnym repozytorium).
Zobacz git remotedokumentację.
git fetch?
git gcpo prostu pakuje obiekty i odniesienia i usuwa obiekty, do których nie ma odniesień (z pewnym marginesem bezpieczeństwa).
git remote update --prune
Należy odświeżyć wszystkie gałęzie pilotów, dodawać nowe i usuwać usunięte.
Edycja: Polecenie zdalnej aktualizacji zasadniczo pobiera listę gałęzi na pilocie. Ta --pruneopcja usunie lokalne zdalne gałęzie śledzenia, które wskazują gałęzie, które już nie istnieją na zdalnym .
Przydatne również do przeglądania nowych zdalnych oddziałów:
git fetch --all
Możesz połączyć flagi -ri, -daby usunąć zdalne gałęzie.
Spróbuj tego polecenia
git gc --prune=now