Autor | Zpráva | ||
---|---|---|---|
joe Profil |
#1 · Zasláno: 17. 12. 2012, 00:41:33 · Upravil/a: joe
Ahoj,
mám situaci, že v repozitáři jsou například tyto větve - master - odpovídá živé verzi webu - stage - odpovídá tomu, na co si klient vzpomene :-) - pak nějaké další větve, ve kterých jsou větší zásahy do systému Ne pokaždé ale nastane situace, že se bude spojovat stage do masteru. Například tak, že na stage se vytvoří něco, co klient ještě nechce nebo si žádá ještě o úpravu. Otázkou je, jakým správným způsobem dostat (sloučit/zmergovat) vybrané commity (nejedná se o poslední commity, ani nemusí jít po sobě...) například ze stage větve do masteru? Využívám Git Extensions, protože nemam rád příkazovou řádku a nebo Netbeans. Našli jsme způsob, že to jde přes tzv. Patche, je to správná cesta? Nejde to jinak? Lépe? A dál pokud by mi někdo prosím vysvětlil, k čemu je v Netbeans Pull downstream a Pull upstream (myslím, že tak to tam je, a že to souvisí přímo s Gitem, ačkoli v Git Extensions to nevidím) a jaký je mezi tím vlastně rozdíl? Hledal jsem, ale nějak to nemůžu pochopit. Díky moc |
||
Tori Profil |
#2 · Zasláno: 17. 12. 2012, 06:50:02
joe:
„jakým správným způsobem dostat (sloučit/zmergovat) vybrané commity (nejedná se o poslední commity, ani nemusí jít po sobě...) například ze stage větve do masteru“ Není na tohle git cherry-pick? |
||
joe Profil |
#3 · Zasláno: 17. 12. 2012, 07:50:06
Tori:
Nevím, právě se v tom Gitu ještě moc nevyznám... proto se ptám :-) |
||
juriad Profil |
#4 · Zasláno: 17. 12. 2012, 13:08:02
pokud chceš přenést z jedné větve jen některé commity do druhé (po jednom), tak buď:
git cherry-pick nebo pokud je to sekvence commitů po sobě: git rebase (bacha, přečti si dokumentaci, často je ho těžké přesvědčit o tom, co chceš ty) správnějším přístupem by mohlo být přeuspořádat projekt například takto: větev master bude aktuální stabilní - tady je jen to, co funguje a je u všech klientů větve stage1, stage2 budou aktuální vývojové - sem jde to, co se teprve vyvíjí a je určeno všem klientům (jedna bude typicky zběsilá, kde probíhá čilý ruch a další budou stabilizační, kde se opravují mouchy před mergem do masteru) větve client1, client2, ... - jsou odbočky z masteru - obsahují věci specifické pro klienta n - například každý klient bude mít své vlastní logo /---stage2 ----master----stage1 \--client1 \--client2---vlastnost vyvíjím v stage, jakmile je stage stabilní, ji zamerguju do masteru a master zamerguju do všech clientů (1) pokud si jen jeden zákazník něco vyžádá, tak to vyvíjím ve větvi (vlastnost) pod clientem a zamerguju do clienta jakmile je to hotové pokud chci client specific vlastnost dostat do masteru, tak udělám rebase příslušné větve do další nové větve stage a pokračuju krokem (1) pro pochopení gitu doporučuji knihu http://www.root.cz/knihy/pro-git/ je zdarma a česky |
||
Časová prodleva: 3 dny
|
|||
joe Profil |
#5 · Zasláno: 20. 12. 2012, 03:43:29
juriad, Tori:
Díky, nakonec to řeší ten "Cherry pick commit", prozkoumal jsem uživatelský manuál k Git Extensions, kde to je i trochu vysvětlené. |
||
Časová prodleva: 11 let
|
0