Paralelní vývoj více verzí/větví pomocí Gitu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
norbe
Backer | 405
+
0
-

S kolegou jsme nedávno přešli z SVN na Git z důvodu snažšího vývoje více větví produktu. Bohužel se nám stále nedaří vytvořit workflow, jakým způsobem vyvíjet produkt souvisle v několika větvích.

Příklad:

Máme hotový CMS (větev master) s určitou funkčností.

1. přijde klient a objedná si naše služby.
2. odstranění nepotřebných modulů a provedení drobných změn, které si klient vyžádá
3. některé změny bych chtěl rovněž jednoduše převádět zpět do hlavní větve
4. uplyne půl roku a klient přijde s tím, že by potřeboval ještě dodělat to a to
5. předtím, než začnu něco dělat, rád bych aktualizoval jádro systému na nejnovější verzi z hlavní větve
6. a tak pořád dokola…

Chtěl bych tedy poprosit někoho zkušenějšího, zda by mohl nastínit/sepsat jakým způsobem výše popsaný příklad řešit.

Do bodu č.4 jsme se dostali bez problému – vytvoření nové větve v které provádíme lokální změny, bod č.3 řešíme pomocí cherry-pick, ale jak postupovat s bodem č. 5?

jasir
Člen | 746
+
0
-

zkusil bych git rebase

norbe
Backer | 405
+
0
-

Díky za info, vyzkoušíme. Rebase jsme tuším už taky zkoušeli, ale je fakt že jsme ještě neměli vychytaný první 3 body, takže chyba asi byla někde jinde.

Editoval norbe (27. 7. 2010 14:19)

Majkl578
Moderator | 1364
+
0
-

merge by nestačilo?

Patrik Votoček
Člen | 2221
+
0
-

taky si myslim ze by melo stacit merge

norbe
Backer | 405
+
0
-

Merge se mi nelíbí, protože když časem budu mít větší množství projektů a budu se chtít podívat do historie, dostanu poměrně ošklivý propletenec, v kterém se špatně orientuje.

Ondřej Mirtes
Člen | 1536
+
0
-

Muzu doporucit knihu Pro Git, na nic.cz je zdarma v PDF jeji preklad. Pochopite, jak Git pracuje a je tam i sekce o ruznych typech workflow, takze nebudete muset vymyslet neco na kolene.

V Gitu se s vetvemi pracuje snadno, doporucuji si delat zvlastni kratkodobe vetve na kazdou novou feature a casto je pomoci merge nebo rebase synchronizovat s master. Rebase vam take na konci vyvoje te feature umozni vzit vsechny commity z dane vetve a smacknout je do jednoho, takze po zacleneni dane feature branch do masteru zustane jeho historie cista a prehledna.

ic
Člen | 430
+
0
-

norbe napsal(a):

Merge se mi nelíbí, protože když časem budu mít větší množství projektů a budu se chtít podívat do historie, dostanu poměrně ošklivý propletenec, v kterém se špatně orientuje.

Významnější živé větve by mohly být vedeny na webu pod svými odkazy na github.

norbe
Backer | 405
+
0
-

@Ondřej Mirtes: Díky za tipy, knihu si určitě přečtem.