La'hev

Heverovy poznatky a poznámky

Uživatelské nástroje

Nástroje pro tento web


Toto je starší verze dokumentu!


Git

Git je distribuovaný systém správy verzí.

Základním prvkem je pracovní adresář, obsahující nějaké soubory (které obykle tvoří náš projekt; soubory jsou samozřejmě v adresáři, případně jakýchkoliv podadresářích). Inicializací gitu v našem pracovním adresáři vytvoříme repozitář, což je adresář .git, obsahující mnoho souborů, mimo jiné i konfiguračních apod. Přidáme/komitneme (commit) naše soubory, následně prováděné změny, takže každý commit vytváří novou verzi - nový stav - ve kterém se naše soubory nacházejí. Z repozitáře je poté možné kdykoliv vytvořit pracovní adresář a to v takové verzi, kterou si přejeme.

Repozitář se vždy nachází v mém pracovním adresáři, tedy commity provádím do něj. Repozitář je potom možné synchronizovat s repozitářem na jiném počítači (serveru) a je tak možné efektivně spolupracovat ve více lidech a/nebo zálohovat svou práci.

O gitu jinak

Klasické označení “distribuovaný systém správy verzí” rozdělme jej na dvě části:

  • 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.

Git tvoří

  • data - adresář .git a jeho obsah (obvykle v adresáři svého projektu pokud není bare)
  • aplikace - git v příkazovém řádku

Co někdo může nazývat gitem

  • klikací aplikace ve windows (tedy grafické nádstavby nad základním gitem)
  • ikonky v průzkumníku a řádky navíc po kliknutí pravým tlačítkem (tedy nádstavby nad grafickými nádstavbami)
  • nějaký web, třeba github

Pojmy, které mi nebyly hned jasné

  • amend (česky pozměnit) - repair, modify, correct, alter jsou výrazy, kterým bychom asi rozumněli rovnou
  • hook (česky háček) - jinde se setkávám s výrazy bind, event, trigger
  • pre/post receive - mnou zažitým žargonem bych to nazval before/after receive
  • staging area (česky přípravný prostor), index (ve starém žargonu) - takový před-commit, místo kde si chystám co za chvíli commitnu (své výhody to nesporně má)
  • checkout (česky jít k pokladně) - slovům switch nebo load bych rozumněl hned

Různé související zkratky, pojmy

  • VCS, (česky můžete potkat SSV) - Version control system, Systém správy verzí
  • DVCS, DRCS - Distributed (re)vision control systems
  • CVS, SVN - předchůdci Gitu

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.

git.1441626218.txt.gz · Poslední úprava: 2015/09/07 13:43 autor: Hever