Używam już git flow
od jakiegoś czasu. Jestem ciekawy, aby dowiedzieć się o konkretnym przypadku użycia.
Na jeden z moich projektów mam bilet na nową funkcję strony internetowej. Ten bilet zależy od wielu podzadań. Chciałbym utworzyć gałąź funkcji dla biletu głównego, a następnie dla każdego zadania podrzędnego utworzyć gałąź funkcji z gałęzi funkcji nadrzędnej.
Załóżmy, że mam bilet PROJ-500 i tworzę dla niego gałąź funkcji
git flow feature start PROJ-500
Następnie chcę zintegrować bilety PROJ-501
przez PROJ-515
INTO PROJ-500
przed integracji całość w develop
. Czy istnieje sposób, bym zrobił coś takiego
git flow feature start PROJ-511 -b PROJ-500
Następnie z biegiem czasu te podzadania są zakończone, a po zakończeniu ich funkcji gałąź jest scalana PROJ-500
.
git flow feature finish PROJ-511
Powyższe polecenie połączyłoby PROJ-511
się zPROJ-500
A gdy wszystkie pod-zadania zostaną zakończone, PROJ-500
zostaną zakończone i połączone w develop
.
W ten sposób nowa funkcja strony internetowej jest zintegrowana z programowaniem jako pojedyncza jednostka, a nie fragmentaryczna.
git flow feature start PROJ-511 PROJ-500
? Link, który zamieściłeś w komentarzu do odpowiedzi DerekS, sugeruje, że tak powinno.Odpowiedzi:
Możesz utworzyć gałąź podfunkcji za pośrednictwem
Ale nie możesz użyć narzędzia GitFlow do scalenia gałęzi z powrotem do głównej gałęzi funkcji, ponieważ jeśli to zrobisz
funkcja zostanie scalona z
develop
. Podfunkcje Ergo nie są obsługiwane , musisz to zrobić ręcznie.Alternatywy: wymóg nie jest jednak nowy. Istnieje otwarty problem, a także projekt rozwidlenia, który twierdzi, że obsługuje funkcje wykańczania w gałęziach innych niż
develop
. Znalazłem również żądanie ściągnięcia z implementacją tej funkcji. Możesz spróbować tej modyfikacji i sprawdzić, czy jesteś z niej zadowolony.Aktualizacja 2019-12-13: Jak użytkownik Matěj Kříž właśnie wspomniał w swoim komentarzu, użytkownik Tony Chemit napisał tutaj odpowiedź kilka miesięcy po mojej, wskazując na gitflow-avh jako alternatywę dla oryginalnego produktu gitflow. Obsługuje podfunkcje po wyjęciu z pudełka ze składnią pokazaną powyżej. Minęło kilka lat i obecnie edycja AVH jest częścią normalnej instalacji Git dla Windows. Właśnie to zweryfikowałem na moim lokalnym pudełku i przetestowałem opcję podrzędną. Oznacza to, że dla użytkowników systemu Windows działa po prostu po instalacji Git.
źródło
Jak zrozumiałem, gitflow jest dość porzucony.
gitflow-avh zastępuje go i oferuje tę funkcję (patrz https://github.com/petervanderdoes/gitflow#creating-featurereleasehotfixsupport-branches ).
Po prostu próbuję i dobrze mi to działa.
PROJ-511 został połączony z elementem / PROJ-500 .
źródło
Jak już wspomniano, możemy rozpocząć nową funkcję używając dowolnej gałęzi podstawowej z
Aby zakończyć podfunkcję, możemy tymczasowo zmienić konfigurację git flow, aby używała naszej gałęzi funkcji zamiast
develop
:W ten sposób git flow uruchamia wszystkie polecenia i testy poprawności. Wreszcie, aby przywrócić konfigurację, możemy uruchomić
źródło
Aktualizacja (5 listopada 2020 r.): Jak wspomniano w nowszej odpowiedzi tutaj , jest to możliwe dzięki gitflow-avh, który zastąpił oryginalny przepływ git.
===================
Oryginalna odpowiedź:
Nie sądzę, by istniała na to metoda w git flow, ale jest to dość proste w przypadku samego git.
źródło