Inštalácia Gitu

GitHub ponúka aplikácie pre najbežnejšie operácie s repozitármi alebo rozhranie v príkazovom riadku pre zložitejšie situácie.

GitHub pre Windows a Mac

desktop.github.com

Git distribúcie pre Linux a POSIX systémy sú dostupné na oficiálnych stránkach Git SCM.

Git pre všetky platformy

git-scm.com

Konfigurácia

Konfigurácia používateľských informácií na zariadení.

$ git config --global user.name "[meno]"

Nastaví meno, ktoré bude priradené ku commitom

$ git config --global user.email "[email]"

Nastaví e-mail, ktorý bude priradený ku commitom

$ git config --global color.ui auto

Umožní farebné zvýrazňovanie výstupov z príkazového riadku

Vytváranie repozitárov

Vytváranie nového repozitára alebo používanie už existujúceho

$ git init [nazov-projektu]

Vytvorí nový lokálny repozitár s daným názvom

$ git clone [url]

Stiahne celý repozitár z danej URL

Robenie zmien

Zrevidovanie zmien a robenie ďalších

$ git status

Vráti zoznam všetkých nových alebo upravených súborov

$ git diff

Ukáže rozdiely v súboroch, ktoré ešte neboli stage-nuté

$ git add [subor]

Pridá súbor do “poolu” pre nový commit

$ git diff --staged

Ukáže rozdiely v súboroch medzi stage-nutou a poslednou verziou

$ git reset [subor]

Unstage-ne súbor, ale zachová jeho obsah

$ git commit -m"[vystizny-opis-zmien]"

Vytvorí commit a pridá k nemu správu s opisom zmien, ktoré boli urobené

Skupinové zmeny

Pomenovanie série commitov a kombinovanie progresu

$ git branch

Vráti zoznam všetkých lokálnych vetiev v repozitári

$ git branch [nazov-vetvy]

Vytvorí novú vetvu

$ git switch -c [nazov-vetvy]

Prejde do danej vetvy a aktualizuje súbory

$ git merge [nazov-vetvy]

Zlúči históriu danej vetvy do súčasnej vetvy

$ git branch -d [nazov-vetvy]

Zmaže vetvu

Premiestňovanie súborov

Premiestnenie alebo zmazanie verzovaných súborov

$ git rm [subor]

Zmaže súbor z priečinka a zaznamená, že bol zmazaný

$ git rm --cached [subor]

Odstráni súbor z verzovacieho systému, ale zachová súbor lokálne

$ git mv [originalny-subor] [premenovany-subor]

Zmení názov súboru a pripraví súbor na commit

Zakázanie verzovania

Vynechanie súborov, ktoré nechceme verzovať alebo dočasných súborov

*.log
build/
temp-*

Textový súbor nazvaný .gitignore zakáže verzovanie nechcených súborov alebo priečinkov (väčšinou napr. súbory IDE, heslá).

$ git ls-files --others --ignored --exclude-standard

Vráti zoznam všetkých ignorovaných súborov v projekte

Ukladanie menších zmien

Uloženie a obnovenie nedokončených zmien

$ git stash

Dočasne uloží všetky zmenené súbory

$ git stash pop

Obnoví posledne stashnuté (uložené) súbory

$ git stash list

Vráti zoznam všetkých stashnutých (uložených) zmien

$ git stash drop

Zahodí posledne stashnuté (uložené) zmeny

Revidovanie histórie

Listovanie a kontrola vývoja súborov

$ git log

Vráti zoznam commitov v aktuálnej vetve

$ git log --follow [subor]

Vráti zoznam zmien pre daný súbor (zahŕňajúc premenovávania)

$ git diff [jedna-vetva]...[druha-vetva]

Zobrazí rozdiely medzi dvoma vetvami

$ git show [commit]

Vráti metadáta a obsah zmien daného commitu

Vrátenie zmien

Napravenie chýb a nahradenie histórie

$ git reset [commit]

Vráti všetky urobené zmeny až po daný commit, zachovajúc lokálne zmeny

$ git reset --hard [commit]

Zahodí všetky urobené zmeny až po daný commit

Synchronizácia zmien

Zapísanie zmien a stiahnutie alebo nahratie zmien

$ git fetch [remote]

Stiahne všetky zmeny zo vzdialeného do lokálneho repozitára

$ git merge [remote]/[branch]

Zlúči danú vetvu do súčasnej

$ git push [remote] [branch]

Nahrá commity a zmeny do danej vetvy na GitHub

$ git pull

Stiahne všetky aktuálne zmeny a históriu kódu