Základní Git příkazy
By Bumerang
Pro účely IFJ projektu jsem sepsal krátký úvod do používání Gitu, což je jeden z nejpoužívanějších systémů na správu verzí.
Jestliže si chcete vytvořit váš repozitář u vás, poslouží vám k tomu následující příkaz.
[plain]
git init
[/plain]
Dále ho budete chtít zřejmě spojit s nějakým repozitářem na netu, což se provede velice snadno.
[plain]
git remote add origin https://bumerang@bitbucket.org/do/not/try_this/at_home.git
[/plain]
Pokud už máte existující repozitář a chcete si ho uložit (naklonovat) na vaší stanici (následující příkaz naklonuje soubor do aktuálního adresáře). Takto je to jednodušší, vytvoříte si v klikacím webovém rozhraní u poskytovatele (viz konec článku) repozitář a pouze si ho naklonujete, nemusíte se pak starat o nic dalšího.
Nastavení jména a mailu, pokud ve jméně použijete diakritiku, uloží se ve stejném kódování, jaké máte aktuálně nastavené v terminálu (zjistit to můžete příkazem ‚locale‘). Upozorňuji na to proto, že když nebude toto kódování shodné s kódováním na serveru kde máte repozitář (např. bitbucket.org používá UTF-8), „rozsypou“ se vám údaje, které se zobrazují v přehledech na serveru.
Pokud toto nenastavíte globálně, musíte tak učinit pokaždé, když tvoříte celý nový adresář se složkou (nový lokální git repozitář).
[plain]
git config user.name „Jméno Příjmení“
git config user.email „xlogin00@stud.fit.vutbr.cz“
[/plain]
Užitečné příkazy
Přidá soubor do staging area (soubory, které se budou posílat pryč):
[plain]
git add
[/plain]
Přidá vše v aktuálním adresáři do staging area:
[plain]
git add .
[/plain]
Lokálně uloží změny ve sledovaných souborech (pokud jste vytvořili nový soubor, je třeba ho nejdříve přidat pomocí git add) — po zadání příkazu se vám otevře textový editor — na první řádek uveďte jednou větou (max 50 znaků) nejdůležitější změnu/změny v commitu, poté řádek vynechejte a napište obsáhlejší popis změn. Před každým „git commit -a“, proveďte git pull, ať nevznikají konflikty, kdybyste se snažili vložit na server starší verzi cizího souboru.
[plain]
git commit -a
[/plain]
Vypíše status (upravené, přidané, konfliktní soubory):
[plain]
git status
[/plain]
Odstranění provedených změn (ne-commitovaných) ze souboru test.c:
[plain]
git checkout — test.c
[/plain]
Vypíše změny pracovní kopie vůči repozitáři (tomu lokálně uloženému, tzn. z posledního pull/clone):
[plain]
git diff
[/plain]
Vypíše historii commitů:
[plain]
git log
[/plain]
Aktualizuje lokální repozitář na nejnovější verzi vzdáleného repozitáře:
[plain]
git pull
[/plain]
Vloží změny provedené a potvrzení (commit) na vzdálený repozitář — je třeba používat s rozmyslem, např. po odladění kódu, při přerušení práce na delší dobu atp. Nevkládejte tudíž každou malou změnu souboru na vzdálený repozitář, na to používejte ‚git commit‘ (uloží lokálně).
[plain]
git push
[/plain]
Můžete nastavit i soubory, které má Git ignorovat. Lokální pravidla najdete v adresáři s projektem:
[plain]
.git/info/exclude
[/plain]
První pomoc:
[plain]
git help
[/plain]
Příkazy, které vám obarví nejrůznější výstupy:
[plain]
git config color.diff auto
git config color.status auto
git config color.branch auto
git config color.interactive auto
git config color.grep auto
[/plain]
Pokud přidáte příznak ‚–global‘, uplatní se nastavení na globální
úrovni (pro aktuálního uživatele), např.:
[plain]
git config –global color.diff auto
[/plain]
Kde si můžete založit repozitář
Bitbucket Pro soukromé použití asi nejlepší možná varianta, umožňuje tvořit soukromé repozitáře – to se hodí například tehdy, když ho chcete používat na školní projekty. Dále umožňuje tvořit soukromé společné repozitáře až pro 5 lidí, takže na malé týmové projekty opět ideální.
GitHub Nelze tvořit privátní repozitáře, ale pokud budete někdy vyvíjet open source projekt, neměl by zde chybět.
Generování statistik
Závěrem ještě upozorním na program GitStats, který vám automaticky vygeneruje statistiky vašeho repozitáře do HTML formátu. Grafy sice vypadají dost spartánsky (jsou generovány pomocí GNUPlots, tak se není moc co divit) ale informační hodnotu nesou.
Hezký tutoriál
Kniha o Gitu od NIC.CZ
bitbucket tutoriál
IVS přednáška o GITu