OT: git vs SVN

Pavel Troller patrol na sinus.cz
Čtvrtek Prosinec 6 10:06:35 CET 2012


Zdravím,

> On Thu, Dec 06, 2012 at 09:16:00AM +0100, Pavel Troller wrote:
> > Zdravím,
> > 
> > > On Thu, Dec 06, 2012 at 04:42:16AM +0100, Pavel Troller wrote:
> > > > Zdravím,
> > > >   dovolte malý dotaz na git, snad to není takové OT, ikdyž k hardware to má
> > > > daleko :-).
> > > >   V SVN pracovat umím: Pomocí SVN checkout vytvořím vlastní pracovní adresář,
> > > > v něm si dělám, co chci (upravuji soubory apod.) a pak updatuji pomocí SVN
> > > > update. Pokud nenastane kolize, v mém pracovním adresáři se udržují moje
> > > > změny a zároveň mohu sledovat vývoj probíhající v repository. Nastane-li
> > > > kolize, dám volbu "postpone", tím se do inkriminovaného kolizního souboru
> > > > zanesou dobře viditelné změny mezi repository a mou verzí a ty pak ručně
> > > > upravím editorem.
> > > >   V gitu toto udělat neumím. Pomocí git clone si vytvořím pracovní adresář,
> > > > ale jakmile cokoliv změním, další update (pomocí git pull) není možný, musím
> > > > použít git reset --hard, aby to všechny mé změny zahodilo a pak dát 
> > > > git pull. Své změny tam pak mohu znovu aplikovat.
> > > 
> > > A neni nutne pred 'git pull' udelat 'git commit'?
> > 
> > No to je právě možné, na to se ptám :-). To jsem se nikdy neodvážil udělat,
> > protože svn commit je, stejně jako cvs commit, přímý zápis do repository.
> 
> Praveze ne. Jestli tomu dobre rozumim, tak 'svn commit' = 'git commit' + 'git pull',
> proste git si ty verze uklada lokalne a na server je dava v oddelenem kroku (klidne
> po vicero commitech)...

Aha, ale to mám tedy zase problém. Já totiž pomocí git pull updatuji svůj
pracovní adresář tím, co se děje v repository (tj. používám git pull jako
svn update). Pokud by se git pull snažil updatovat na centrální repository
moje lokální změny, bylo by to špatně... 

Zdraví Pavel

> 
> > O té distribuovanosti gitu vím, ale nevím právě, jak s ní nakládat. Díky za radu,
> > zkusím to.
> > 
> > Zdraví Pavel
> > 
> > > 
> > > (S gitem jsem si hral jen parkrat, ale jestli si to dobre vzpominam,
> > > pak je prave zasadni rozdil mezi git-em a SVN v tom, ze ze git je distribuovany
> > > a vsechny commity delam 'u sebe' - tim padem muzu napr. byt online a commitnout
> > > kazdou prkotinu - a teprve ve chvili, kdy mam zasasdnejsi kus funkcniho celku
> > > to cele - vcetne historie mych commitu - to muzu 'pullnout' na server...)
> > > 
> > > >   Věřím, že to v gitu jde, ale ještě jsem nepochopil, jak. Poradíte ?
> > > > 
> > > >   Zdraví Pavel


Další informace o konferenci Hw-list