2013-05-08 16 views
13

Zaczynam użyciu git flow i rozumiem, że robi:Merge oddział z Git przepływu utrzymując oddział wciąż żyje

git flow feature start my-feature 
git flow feature finish my-feature 

utworzyć funkcję, a następnie, kiedy skończę moje zmiany, scalania to z gałęzią rozwoju. Polecenie Zakończ przepływ dosłownie usuń gałąź funkcji po operacji scalania.

Moje pytanie brzmi: czy istnieje sposób użycia przepływu git do scalenia mojej funkcji z rozwinięciem bez usuwania go po scaleniu.

Moje drugie pytanie brzmi: czy ten przepływ pracy jest prawidłowy? Mam na myśli, czy to właściwe utrzymywanie gałęzi z żywymi funkcjami podczas łączenia się z rozwojem, tylko po to, by zaktualizować gałąź główną z pewnymi zmianami i kontynuować pracę nad gałęzią funkcji?

Odpowiedz

17

Wystarczy użyć git flow feature finish -k my-feature

referencyjny: https://github.com/nvie/gitflow/wiki/Command-Line-Arguments

O drugie pytanie:

Normalnie nie łączyć oddziały fabularne wielokrotnie w develop. Wstawiasz develop w gałęzie obiektów (tj. Na odwrót) lub zmieniasz gałęzie funkcji na HEAD z develop (zalecane). Jedynym momentem scalenia gałęzi funkcji w develop jest zakończenie procesu tworzenia tej funkcji.
Jeśli scalisz gałęzie funkcji w develop, całkowicie usuniesz korzyści związane z posiadaniem gałęzi funkcji i po prostu możesz opracować ją bezpośrednio pod numerem develop.
Jeśli masz potrzebę scalenia z gałęzi funkcji do develop, najprawdopodobniej wprowadziłeś zmiany, które nie są bezpośrednio związane z tą konkretną funkcją i powinny zostać wprowadzone w pierwszej kolejności w postaci develop.

+0

Dzięki, to było dokładnie to, czego szukałem. –

+1

Czy możesz wyjaśnić: "Zwykle nie łączycie gałęzi funkcjonalnych w rozwój?". Właśnie uruchomiłem 'git flow feature finish ' i właśnie to wyprowadziło. – webXL

+0

@webXL: Moja odpowiedź była skierowana na jego pytanie, aby wielokrotnie scalać zmiany z gałęzi funkcji w celu ich rozwinięcia. To nie jest to, co robisz. Tym, co robisz, jest scalenie gałęzi funkcji w rozwój * raz * jest zakończona. Masz wiele scaleń, od rozwinięcia do funkcji (lub rebase funkcji na samym początku) i na końcu gałęzi funkcji, masz jedną funkcję do scalenia. Czy to ma sens? –