GIT - přesun posledních commitů do nové větve

GIT - přesun posledních commitů do nové větve
« kdy: 25. 03. 2010, 00:54:23 »
Dobrý den,
ve svém projektu jsem začal nerozvážně psát novou funkcionalitu do hlavní větve a nyní zjišťuji, že by bylo vhodné poslední 2 commity přesunout do větve nové, s tím že hlavní větve by se neměly dotknout.
Narazil jsem na příkazy cherry-pick a reset, ale nejsem si jist co přesně dělají.
Předem děkuji za radu.

P.S. pokud text uvedený výše nedává smysl, je to tím že byl napsán v jednu v noci. Berte ho proto prosím s rezervou.
 
« Poslední změna: 25. 03. 2010, 01:15:45 od Jiří Taypan »


Pichi

Re: GIT - přesun posledních commitů do nové větve
« Odpověď #1 kdy: 25. 03. 2010, 05:51:06 »
Kód: [Vybrat]
git checkout -b new_feature # zaloz novou vetev z aktualni master vetve
git checkout master # prepnuti zpatky do master
git reset --hard HEAD^^ # nastav master zpet o dve revize
git checkout new_feature # prepnout do nove vetve a pokracovat ve vyvoji

Re: GIT - přesun posledních commitů do nové větve
« Odpověď #2 kdy: 25. 03. 2010, 07:37:19 »
Těžko říct, jestli to udělalo to co jsem chtěl... Teď přestal fungovat push, protože ve vzdalenem repo. je novější verze a ty 2 commity jsou pořád v master. Jak mám provést merge vzdalene a lokalni master vetve?

Ahmul

Re: GIT - přesun posledních commitů do nové větve
« Odpověď #3 kdy: 25. 03. 2010, 20:23:14 »
tak přesně tohle jsem čekal:) Mám ten dojem, že push jde forcnout, ale dopředu bych raději cílový repositář vyzálohoval.

Re: GIT - přesun posledních commitů do nové větve
« Odpověď #4 kdy: 26. 03. 2010, 23:05:47 »
Tak push sel skutecne forcenout coz sice uvedlo vzdálený repo. do zadaneho stavu ale pro zmenu se do nej nedalo vubec nic noveho zapsat :D takze resenim bylo odmazani vzdaleneho repo. a znovunahrani z lokalni kopie. Reseni silne neidealni ale funkcni :D. Priste si dam pozor co pushuju :)
Díky vsem za rady.