2013-03-07 15 views
20

Poniższa sytuacja pojawia się od czasu do czasu ...Czy GitHub śmieci zbiera zwisające zatwierdzenia przywoływane w żądaniach pobierania?

I git checkout -b experiment, popełnić jakieś zmiany eksperymentalne i otwórz żądanie ciągnąć. Po dyskusji dyskusja jest odrzucana.

Gdybym teraz usunąć zdalną gałąź, by to uczynić diff niedostępnych w pewnym momencie, czy też GitHub upewnić się, że popełnia które pojawiają się w żądaniach pociągowych nie są zbierane śmieci nawet jeśli nie pojawiają się na dowolny gałąź?

Chciałbym usunąć martwe gałęzie, ale tylko wtedy, gdy nie zmniejszy to historycznej wartości odrzuconych wniosków o ściągnięcie.

Odpowiedz

21

Nie, nie będą one gc, ponieważ nie są w pełni bez odniesienia, nawet jeśli usuniesz swój oddział.

Github tworzy gałąź (w rzeczywistości dwie) dla każdego żądania ściągnięcia. Znajdują się one w domyślnej przestrzeni nazw, więc zazwyczaj nie można ich uzyskać po pobraniu (lub pobraniu) z repozytorium.

Aby zobaczyć, jak to wygląda w praktyce zrobić git ls-remote <REMOTE>, gdzie <REMOTE> jest albo nazwą zdalnego (jeśli jest to jeden Twój repo wie) lub adres URL (nie muszą być git remote add ed to zadziałało). Ten pilot powinien mieć pewne prośby o pociągnięcie, inaczej nie będziesz w stanie zobaczyć, co mam na myśli.

Spowoduje to wyświetlenie wszystkich informacji na pilocie (wszystkie gałęzie i znaczniki), a zobaczysz kilka odwołań, takich jak refs/pull/<number>/head i refs/pull/<number>/merge. Te odnoszą się do ostatniego zatwierdzenia w PR i zobowiązania, w którym zostały połączone w, odpowiednio.

Powiązane problemy