Nie chcę skończyć z 82 gałęziami funkcji wiszącymi dookoła , więc zastanawiam się, jakie są potencjalne wady po prostu usuwania gałęzi funkcji, gdy tylko połączę ją z master.
Przepływ pracy:
git co -b feat-xyz
hack hack
git ci
hack some more
git ci
git co master
git merge feat-xyz
smoke test
git br -d feat-xyz
Jakieś problemy?
git
version-control
branch
bstpierre
źródło
źródło
git reflog
. NastępnieOdpowiedzi:
Usuń po scaleniu to zwykły sposób. Dlatego
git branch -d yourbranchname
sprawdza, czy gałąź jest w pełni scalona, zanim zostanie usunięta.Jest kilka powodów, dla których przychodzi mi do głowy, aby zachować gałąź dookoła: możesz chcieć ją zatrzymać na wypadek, gdyby pojawiły się błędy, które powracają po uruchomieniu produkcji, lub możesz chcieć mieć zapis historyczny.
W obu przypadkach możesz oznaczyć nagłówek gałęzi przed jej usunięciem. Tag jest jak gałąź, ponieważ jest wskaźnikiem do zatwierdzenia, z wyjątkiem kilku drobnych różnic: 1) porcelain zwykle nie wyświetla tagów w poleceniach eksploracyjnych, takich jak git show-branch lub tab-auto complete w kasie, 2) wybranie jednego z wyjść umieszcza cię w odłączonym (bez odniesienia) HEAD 3) możesz zostawić „ tagging message ”, co powoduje, że znacznik jest zapisywany jako obiekt w składnicy obiektów, podobnie jak zatwierdzenie.
W ten sposób zachowujesz historię, a jeśli kiedykolwiek zajdzie potrzeba naprawienia błędów, polecam po prostu utworzenie nowej gałęzi z mastera dla poprawki.
źródło
Usuwam po scaleniu, ale zawsze robię a
git merge --no-ff
, aby uniknąć szybkiego przewijania do przodu, aby historia gałęzi była widoczna na wykresie. Lubię mieć historię, w której gałąź fabularna odeszła od gałęzi deweloperskiej i gdzie dołączyła z powrotem:Jest to zaczerpnięte z udanego modelu rozgałęziania Git autorstwa Vincenta Driessena, bardzo przyjemnego przepływu pracy do użycia z git, który stosuję w większości moich projektów.
źródło
merge --no-ff
wracam do mastera, ponieważ tak jak mówisz, możesz zobaczyć historię.Przychodzą mi do głowy dwa powody, dla których warto przez chwilę zachować gałąź funkcji:
W praktyce w większości przypadków usuwanie po scaleniu jest w porządku.
źródło
Typowy przepływ pracy to
źródło
Myślę, że to typowy przepływ pracy (usuwanie po scaleniu)
EDYTUJ Więc zamiast łączyć, przynajmniej w przypadku gałęzi o krótkim okresie życia, myślę, że chodzi o to, aby przenieść je na master. wtedy kończy się liniowa historia zmian, a cała gałąź staje się częścią głównego pnia. w tym przypadku masz wszystkie zmiany, więc najwyraźniej nie potrzebujesz kopii.
źródło