La'hev

Heverovy poznatky a poznámky

Uživatelské nástroje

Nástroje pro tento web


Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
git [2015/09/07 13:43] Hevergit [2016/01/21 13:26] (aktuální) – [O gitu jinak] Hever
Řádek 12: Řádek 12:
   * **Systém správy verzí** - píšu důležitý dopis a dospěju k jeho první verzi. Večer ho dám přečíst manželce, která mi k tomu řekne své, přepíšu ho a mám druhou verzi. Ráno vstanu, znovu to přepíšu a mám třetí verzi. “Systém správy verzí” je to, co mi dovoluje tyto verze evidovat, prohlížet si co jsem mezi jednotlivýma verzema změnil, umožňuje vrátit k některé předchozí verzi, zvlášť poté co zase ukážu svou třetí verzi manželce.   * **Systém správy verzí** - píšu důležitý dopis a dospěju k jeho první verzi. Večer ho dám přečíst manželce, která mi k tomu řekne své, přepíšu ho a mám druhou verzi. Ráno vstanu, znovu to přepíšu a mám třetí verzi. “Systém správy verzí” je to, co mi dovoluje tyto verze evidovat, prohlížet si co jsem mezi jednotlivýma verzema změnil, umožňuje vrátit k některé předchozí verzi, zvlášť poté co zase ukážu svou třetí verzi manželce.
  
-  * **Distribuovaný** - tento přídomek je zde hlavně proto, že v době kdy git spatřil světlo světa, byly všechny dosavadní systémy správy verzí centralizované. Pokud ale nemáme zkušenost s těmi centralizovanými, nemusíme tomu věnovat zvlášť pozornost. V zásadě jde o to, že pro práci s gitem nepotřebujeme mít žádný server, zatímco ty centralizované ho nutně potřebovaly. Ty centralizované také hned předpokládaly, že na jednom projektu bude pracovat hodně lidí zaráz a nastavit to nebyla vůbec sranda. Git bude užitečný i jednomu člověku na malinkém projektu.+  * **Distribuovaný** - tento přídomek je zde hlavně proto, že v době kdy git spatřil světlo světa, byly všechny majoritní systémy správy verzí centralizované. Pokud ale nemáme zkušenost s těmi centralizovanými, nemusíme tomu věnovat zvlášť pozornost. V zásadě jde o to, že pro práci s gitem nepotřebujeme mít žádný server, zatímco ty centralizované ho nutně potřebovaly. Ty centralizované také hned předpokládaly, že na jednom projektu bude pracovat hodně lidí zaráz a nastavit to nebyla vůbec sranda. Git bude užitečný i jednomu člověku na malinkém projektu.
  
 ==== Git tvoří ==== ==== Git tvoří ====
Řádek 37: Řádek 37:
 ===== Práce s gitem ===== ===== Práce s gitem =====
 Návyky jak git používat, jak často commitovat atp., nejsou nijak diktovány, každý si to ve svém projektu stanoví sám. Návyky jak git používat, jak často commitovat atp., nejsou nijak diktovány, každý si to ve svém projektu stanoví sám.
 +
 +===== Git vs. SVN =====
 +Mé poznámky k výhodám Gitu - [[http://devel.cz/otazka/svn-vs-git#answer-7010|moje odpověď na devel.cz]]:
 +
 +Hlavní výhodou Gitu pro spolupráci může být i rozdílnost přístupu jednotlivých programátorů. Některý bude dělat commity ojediněle, zato nebudou potřebovat pozdější opravy. Jiný bude chtít dělat commity často a v pozdějších commitech chybky vychytávat. Ten první pak bude z toho druhého na na nervy. V případě decentralizace může ten druhý commitovat u sebe jak je zvyklý a před pushnutím své práce do společného repozitáře to ještě může po sobě uhladit (commit a jeho pozdější tři "fix" commity sloučit pěkně do jednoho...) a takto můžou společně vycházet a nebudou si muset nutit své odlišné pracovní postupy.
 +
 +Proč by měli mít programátoři rozdílné pracovní postupy/návyky? Proč ne. Každému může sedět něco jiného a Git s tím počítá. Někdo svou práci "pre commituje" jen do stage (dříve se prý používal název 'index', tedy příkazem `git add`) a commit dělá až ve chvíli, kdy se práce zdá být stabilní. Jiný v rámci sebe motivačního pracovního systému prostě commituje co chvilinku (tedy `commit -a`, stage přeskakuje).
 +
 +Centralizovaný systém tuto volnost programátorům neumožní.
 +
 +S tím související nevýhodou Gitu považuju, že je těžké se v něm zorientovat. Už proto, že ho spousta lidí používá různě a pak vzniká hodně různých návodů jak Git používat. Jeden vám doporučí větvit na všechno, další větvit trochu, další nevětvit skoro vůbec. Jeden mluví o stage (tedy postaru `indexu`) jako o kruciální záležitosti a druhý se o stage nezmiňuje vůbec jakoby neexistovala. Jeden doporučí commity upravovat, jiný vytahuje při podobných zmínkách svěcenou vodu, aby zahnal heretika. Další návod představuje instalaci protolu git a vydává to za Git. Někde vám zase představují Git tak, že prostě musíte mít nějaký veřejný repozitář, protože je to to nejdůležitější, zatímco jej vůbec mít nemusíte. Natož když člověk chce najít jak se s Gitem dělává deploy. Na nic z toho neexistuje jednoznačná odpověď "takto je to správně". Každému může vyhovovat něco jiného. Proto člověk co s tím chce začít, aby pochopil všechny možnosti jak s tím pracovat a pak si vybral. V SVN skoro nemá na výběr, proto je to jednodušší se to naučit.
 +
 +Nevýhodou SVN je také to, že když programátora napadne "udělám tento projekt, založím repozitář" znamená složitou situaci, najít návod jak se to na tom serveru dělá a jak se to nastavuje na klientovi... V gitu je to jedna akce (jeden klik nebo jeden příkaz v terminálu).
 + 
 +===== Odkazy =====
 +Deploy aplikace pomocí gitu - [[http://devel.cz/otazka/jak-resite-deployment-vasich-aplikaci#answer-8480|moje odpověď na devel.cz]]
git.1441626218.txt.gz · Poslední úprava: 2015/09/07 13:43 autor: Hever