Czy po scaleniu gałęzi usuwasz ją z repozytorium?
Jednak to dobra praktyka czy nie?
Zwykle tworzę wiele gałęzi, ponieważ nie chcę przerywać mojej obecnej wersji i chciałbym je usunąć, aby zachować porządek.
Jeśli jednak pracujesz z Assemblą lub GitHubem, Twoje żądania scalenia ze starych gałęzi zostaną zapisane w witrynie, więc jeśli je usuniesz, pojawi się błąd, ponieważ nie będzie w stanie ich pobrać ...
Zwykle jak sobie z tym radzisz?
git
branching-and-merging
tampe125
źródło
źródło
Merge branch fix-foo-bar
komunikatów o zmianach . Spróbujgit log --grep="Merge branch"
, a następnie upuść własne zakotwiczenia za pośrednictwemgit checkout -b curious-change
. Ponadto, nic nie jest tracone podczas usuwania gałęzi - poza zwykłym wskaźnikiem „nazwa gałęzi → commithash” (którym jest naprawdę gałąź, nie ma znaczenia, czy jest lokalna, ani zdalna).Zdecydowanie sprzątam swoje gałęzie po ich scaleniu.
Korzystamy z GitLab i scalamy żądania w pracy, dzięki czemu przechowywane są tam historyczne informacje o oddziałach; Nie potrzebuję, żeby zaśmiecały moją listę oddziałów, a kiedy patrzę na widelec współpracownika, najlepiej chciałbym zobaczyć tylko gałęzie ich obecnego aktywnego rozwoju. Jeśli próbuję przyjrzeć się kodowi w ich gałęzi, chcę mieć możliwość przejrzenia tylko kilku aktualnie aktywnych gałęzi, a nie każdej funkcji lub poprawki, nad którą kiedykolwiek zaczęli pracować.
Powyższe dotyczy również BitBucket i GitHub.
Jedynym powodem, dla którego możesz nie usuwać gałęzi po scaleniu, jest to, że wiesz, gdzie kończy się dana funkcja, ale zatwierdzenia scalania (i
git merge --no-ff
jeśli naprawdę chcesz) sprawiają, że nie ma to znaczenia.źródło
Wystarczy zadbać o
wszystkie hiperłącza, adresy URL, odniesienia do Twoich USUNIĘTYCH oddziałów, zostaną ZŁAMANE .
Na przykład,
jeśli usuniesz
branch_feature_x
oddział z repozytoriumOdpowiedni adres URL hiperłącza tego oddziału zostanie uszkodzony
https://github.com/username/project/tree/branch_feature_x
źródło
Dla wyjaśnienia, gałąź, z punktu widzenia gita, jest po prostu połączeniem z jakimś zatwierdzeniem. Usuwając gałąź, nie usuniesz zatwierdzeń z repozytorium git. Oczywiście oderwany zatwierdzenia zostaną wyczyszczone po pewnym czasie przez git garbage collector.
FYI: Zwykle łączymy gałęzie w master za pośrednictwem interfejsu bitbucket. Tam możesz ustawić
delete feature branch after merge
flagę.Jeśli potrzebujesz poradzić sobie ze zbyt starymi gałęziami, możesz poszukać narzędzi, na przykład tego .
źródło