Przypadkowo przyciąłem niektóre zdalne gałęzie i naprawdę nie wiem, jakie są tego konsekwencje (kliknąłem przycisk „Usuń zdalne gałęzie” w rozszerzeniach Git, myśląc, że spowoduje to usunięcie zdalnej gałęzi).
Oficjalna dokumentacja mówi "git-prune - Usuń wszystkie niedostępne obiekty z bazy danych obiektów". Naprawdę nie rozumiem, co to oznacza. Domyślam się, że mogło to spowodować usunięcie połączonych gałęzi, ale nie jestem pewien.
git
git-extensions
Daniel Ball
źródło
źródło
git gc
: git-scm.com/docs/git-prune .Odpowiedzi:
„Wyczyść zdalne gałęzie” w rozszerzeniach Git wykonuje
git remote prune
polecenie, które usuwa lokalne zdalne gałęzie śledzenia, w których gałąź już nie istnieje na zdalnym.Zobacz tutaj: https://git-scm.com/docs/git-remote#git-remote-empruneem
źródło
To tylko śmieci zbiera twoje gałęzie.
Oznacza to, że jeśli obiekt (zatwierdzenie) nie może zostać osiągnięty w żadnym z przodków twojej gałęzi, zostanie on usunięty z bazy danych git i jako taki nie będzie już dostępny.
To tylko trochę oczyszcza repozytorium git i czyni je lżejszym.
źródło
git gc
raczej niż a,git prune
które zasadniczo będzie również wykonywać git prune.git prune
igit remote prune
. Nie są takie same, ta ostatnia faktycznie czyści gałęzie, które już nie istnieją na pilocie, pozostawiając nietknięte oddziały lokalne.Ważne jest, aby wiedzieć, że śliwka jest związana z repo . Nie wszyscy wiedzą, że możesz połączyć lokalne repozytorium z wieloma pilotami. Przydaje się, gdy na przykład pracujesz z projektem open source i jest wymuszany do pracy za pomocą forków.
Tak więc polecenie prune wymaga nazwy repozytorium. W większości przypadków tak
git remote prune origin
, ale możesz zadzwonić do swojego repozytorium w dowolny sposób, nie musiorigin
.źródło
Mogą istnieć zdalne gałęzie funkcji, które są usuwane po scaleniu ich w master. Mogliśmy usunąć gałęzie funkcji w celu oczyszczenia. Ale jeśli wyewidencjonowałeś usuniętą gałąź do systemu lokalnego i ustawiłeś na status śledzenia, git pull nie usunie tych lokalnych gałęzi (ponieważ są już odłączone od serwera). Aby oczyścić tego rodzaju lokalne gałęzie osierocone,
git prune
przyda się polecenie.źródło