$ git init

# Zobraz a Nastav Základné Konfiguračné Premenné (Globálne)
$ git config --global user.email "MôjEmail@Zoho.com"
$ git config --global user.name  "Moje Meno

# Rýchlo zobraz všetky dostupné príkazy
$ git help

# Zobraz všetky dostupné príkazy
$ git help -a

# Zobraz konkrétnu pomoc - použivateľský manuál
# git help <príkaz_tu>
$ git help add
$ git help commit
$ git help init
# alebo git <príkaz_tu> --help
$ git add --help
$ git commit --help
$ git init --help

# Zobrazí vetvu, nesledované súbory, zmeny a ostatné rozdiely
$ git status
# Zistí iné vychytávky o git statuse
$ git help status

# pridá súbor z tvojho pracovného adresára
$ git add HelloWorld.java

# pridá súbor z iného adresára
$ git add /cesta/k/súboru/HelloWorld.c

# Môžeš použiť regulárne výrazy!
$ git add ./*.java

# zobraz existujúce vetvy a vzdialené repozitáre
$ git branch -a

# vytvor novú vetvu
$ git branch myNewBranch

# vymaž vetvu
$ git branch -d myBranch

# premenuj vetvu
# git branch -m <starémeno> <novémeno>
$ git branch -m mojaStaraVetva mojaNovaVetva

# zmeň opis vetvy
$ git branch myBranchName --edit-description

# Zobrazí tagy
$ git tag
# Vytvorí tag so správou
# -m špecifikuje správu, ktorá bude s tagom uložená.
# Ak nešpeficikuješ správu pri tagu so správou,
# Git spustí tvoj editor, aby si ju napísal.
$ git tag -a v2.0 -m 'moja verzia 2.0'

# Ukáž informácie o tagu
# Zobrazí zadané informácie, dátum tagnutia commitu
# a správu pred zobrazením informácií o commite.
$ git show v2.0

# Zverejní (pushne) jediný tag do vzdialeného repozitára
$ git push origin v2.0

# Zverejní viacero tagov do vzdialeného repozitára
$ git push origin --tags

# Aktualizuj strom, aby odpovedal (predvolene) 
# hlavnej vetve repozitáru (master branch)
$ git checkout

# Aktualizuj strom, aby odpovedal konrkétnej vetve
$ git checkout menoVetvy

# Vytvor novú vetvu & prepni sa na ňu
# ekvivalentný príkaz: "git branch <meno>; git checkout <meno>"
$ git checkout -b nováVetva

# Naklonuj learnxinyminutes-docs
$ git clone https://github.com/adambard/learnxinyminutes-docs.git

# povrchné klonovanie - rýchlejšie, uloží iba najnovšiu snímku
$ git clone --depth 1 https://github.com/adambard/learnxinyminutes-docs.git

# naklonuj iba konkrétnu vetvu
$ git clone -b master-cn https://github.com/adambard/learnxinyminutes-docs.git --single-branch

# commitni so správou
$ git commit -m "Pridal som multiplyNumbers() funkciu do HelloWorld.c"

# automaticky pridaj zmenené a vymazané súbory do staging indexu,  potom ich commitni.
$ git commit -a -m "Zmenil som foo.php a vymazal bar.php"

# zmeň posledný commit (toto nahradí predchádzajúci commit novým)
$ git commit --amend -m "Správna správa"

# Ukáž rozdiel medzi pracovným repozitárom a indexom.
$ git diff

# Ukáž rozdiely medzi indexom a najnovším commitom.
$ git diff --cached

# Ukáž rozdiely medzi pracovným adresárom a najnovším commitom.
$ git diff HEAD

# Nastav, aby sa vo výsledkoch vyhľadávania zobrazovalo číslo riadku
$ git config --global grep.lineNumber true

# Urob výsledky vyhľadávania čitateľnejšie, vrátane zoskupovania
$ git config --global alias.g "grep --break --heading --line-number"

# Vďaka Travisovi Jefferymu za túto sekciu
# Hľadaj "názovPremennej" vo všetkých java súboroch
$ git grep 'názovPremennej' -- '*.java'

# Hľadaj riadok, ktorý obsahuje "názovPoľa" a "add" alebo "remove"
$ git grep -e 'arrayListName' --and \( -e add -e remove \)

# Zobraz všetky commity
$ git log

# Zobraz iba správy a referencie commitov
$ git log --oneline

# Zobraz zlúčené (merged) commity
$ git log --merges

# Zobraz všetky commity vo forme ASCII grafu
$ git log --graph

# Zlúč vybranú vetvu do aktuálnej.
$ git merge názovVetvy

# Vždy vytvor zlučovací commit
$ git merge --no-ff názovVetvy

# Premenuj súbor
$ git mv HelloWorld.c HelloNewWorld.c

# Presuň súbor
$ git mv HelloWorld.c ./nová/cesta/HelloWorld.c

# "Nasilu" premenuj, alebo presuň
# "existujúciSúbor" už v adresári existuje, bude prepísaný
$ git mv -f môjSúbor existujúciSúbor

# Aktualizuje tvoj lokálny repozitár zlúčením nových zmien
# zo vzdialených "origin" a "master" vetiev.
# git pull <alias-vzdialeného-repo> <vetva>
$ git pull origin master

# Predvolene, git pull aktualizuje tvoju aktuálnu vetvu
# zlúčením nových zmien zo vzdialenej vetvy 
$ git pull

# Zlúč zmeny zo vzdialenej vetvy a presuň vetvu do nového základného commitu (rebase)
# vetva commitne na tvoj lokálny repozitár, ekvivalentný príkaz: "git pull <alias-vzdialeného-repo> <vrstva>, git rebase <branch>"
$ git pull origin master --rebase

# Zverejni a zlúč zmeny z lokálneho repozitára do
# vzdialených vetiev s názvom "origin" a "master".
# git push <vzdialené> <vetvy>
$ git push origin master

# Predvolene git zverejní a zlúči zmeny z
# aktuálnej vetvy do vzdialenej vetvy s ňou spojenej
$ git push

# Na spojenie lokálnej vetvy so vzdialenou pridaj -u:
$ git push -u origin master
# Kedykoľvek budeš chcieť zverejniť z rovnakej lokálnej vetvy, použi príkaz:
$ git push

# Aplikuj commity z experimentálnej vetvy na master
# git rebase <základnáVetva> <ináVetva>
$ git rebase master experimentBranch

# Resetni index (vrstvu medzi pracovným stromom a Git repozitárom), aby odpovedal najnovšiemu commitu (adresár ostane nezmenený)
$ git reset

# Resetni index, aby odpovedal najnovšiemu commitu (adresár sa prepíše)
$ git reset --hard

# Presunie vrchol aktuálnuej vetvy do konkrétneho commitu (adresár ostane nezmenený)
# všetky zmeny sú zachované v adresári.
$ git reset 31f2bb1

# Vezmi späť konkrétny commit
$ git revert <commit>

# odstráň HelloWorld.c
$ git rm HelloWorld.c

# Odstráň súbor z vnoreného adresára
$ git rm /pather/to/the/file/HelloWorld.c