Header_foto
Kategorie • Technologie

Git - základy

Erich Kaderka

Git je distribuovaný systém správy verzí. Mezi jeho hlavní výhody patří snadné vytváření větví (branch) a jejich slučování (merge). Díky tomu, že má vývojář celý repozitář u sebe může commitovat, mergovat nebo vytvářet nové větve i když je offline. Git má oproti jiným SCM nástrojům výhodu i v tzv staging area neboli indexu. Po přidání souborů si může vývojář znovu projít nové nebo změněné soubory než provede commit.

Instalace

V Debianu Git nainstalujeme pomocí příkazu: aptitude install git-core Verze pro Windows je ke stažení na zde

Vytvoření repozitáře

Nejdříve si vytvoříme adresář, poté se do něj přesuneme a spustíme git init. mkdir muj_projekt cd muj_projekt git init Takový repozitář je pouze lokalní, pokud chceme vytvořit sdílený repozitář na serveru, použijeme příkaz: git init --bare --shared=true Pro starší verze Gitu (< 1.6.2) je potřeba postupovat následovně mdir new_repo cd new_repository git init touch .gitignore git add . git commit -m "prvni commit, gitignore" cd .. git clone --bare --shared new_repo/ new_repo.git

Každodenní používání

Většinou moje práce s Gitem vypadá následovně, přepnu se na větev master a stáhnu si nejnovější změny: git checkout master git pull Vytvořím si novou větev: git checkout -b "nova_featura" Provedu změny v souborech a prohlédnu si změněné soubory: git status Případně se podívám co jsme v konkrétním souboru změnil: git diff soubor Přidám buď jeden soubor: git add file Nebo adresář: git add adresar/ Nebo všechny soubory git add . Pokud jsem nějaký soubor smazal, tak ho odstraním: git rm soubor Nyní se nacházím v tz stage area (index), kdy mohu ještě před commitem soubor vrátit do původního stavu pomocí: git reset soubor Poté soubory commitnu: git commit -m "hlaska proc jsem provedl zmeny" Vyplatí se psát commit hlášky podrobně, protože za pár dní ani samotný autor nemusí vědět, proč daný commit dělal, když napíše oprava bugu :). Nyní jsou moje změny ve větvi commitnuté a je potřeba je zanést do master větve a pushnout na server. Nejdříve se přepnu na master, stáhnu si aktualní kód, poté se přepnu do větve ve které jsme provedl svoje změny, provedu rebase master větve (sloučím master a svoji větev) a udělám merge své větve do master. Poté pošlu změny příkazem git push na server: git checkout master git pull git checkout nova_featura git rebase master git checkout master git merge nova_featura git push Prohlédnu si výpis všech větví a případně pokud je moje práce na feature ukončena, tak ji smažu git branch git branch -D nova_featura

Závěr

I když to tak na první pohled nemusí vypadat práce s Gitem je velmi jednoduchá a přímočará. Při přechodu ze Subversion na Git se vyskytlo pár problémů (instalace na serveru, pochopení základního workflow, instalace na Windows), ale po jejich překonání si i ostatní členové týmu na Git zvyknuli a jsou jím více či méně nadšeni :).

Zdroje


Nejlepší Ruby on Rails tým Nejposlouchanější Rádio Impuls v ČR - online rádio Pro agilní vývoj a řízení projektů používáme
© 2009 Railsworx.org
All Rights Reserved.