4.3.1.2. Nápověda

(Verze: CZ 0.04 12.04.2015 -md-)

git help

Vypíše obecnou nápovědu k syntaxi příkazu.

git help config

Vypíše detailní nápovědu k příkazu - v tomto případě k příkazu “config”.

4.3.1.3. Globální nastavení

  • nastavení jména programátora
  • nastavení emailu ke komunikaci
  • nastavení barevného zobrazování
git config --global user.name "Jméno Příjmení"
git config --global user.email emailová_adresa
git config --global color.ui true

Konfigurační soubor .gitconfig

Doplníme nastavení aliasů pro některé velmi často používané příkazy a vylepšíme zobrazování historie v terminálovém okně. Nastavení se provedouv souboru ”.gitconfig”, který je obvykle uložen v domácím adresáři uživatele.

  • zobrazování historie vhodnou formou textové grafiky
  • zkratku pro status
  • zkratku pro commit
[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
st = status
cm = commit -m


4.3.1.4. Zakládáme první repozitář

  • vytvoříme adresář, kde bude projekt uložen
  • vstoupíme dovnitř
  • založíme repozitář
mkdir obchod
cd obchod

git init

Poslední z příkazů založí prázdný repozitář. Adresář ”.git”. V tomto skrytém adresáři se nachází celý lokální repozitář. Není radno v něm cokoli bezmyšlenkovitě měnit.

4.3.1.5. První krůčky - začínáme

  • vytvoříme nějaký obsah, např. README.TXT - tento soubor začíná ve stavu “untracked”
  • přidáme soubor do staging area - tímto je soubor připraven k uložení do repozitáře
  • provedeme commit, potvrzení uložení do repozitáře

Jak zjistím stav repozitáře

git status

Vypíše aktuální stav repozitáře. Tzn. soubory ve stavech “untracked” a “staging”.

Jak přidám soubor do “staging”

git add README.TXT

Změní status souboru na “staging”.

Jak uložím změny trvale do repozitáře

git commit -m "Create a README.TXT"

4.3.1.6. První krůčky - ukládání změn

  • modifikuji soubor README.TXT, který již je uložen v repozitáři
  • dále přidán nový soubor LICENSE
$ git status

# On branch master
# Changed but not updated:
#
# modified: README.txt
#
# Untracked files:
#
# LICENSE
no changes added to commit

Jak přidám provedené změny do “staging”

git add README.TXT LICENSE

# NEBO:

git add --all

A když se opět podíváme na status:

$ git status
# On branch master
# Changes to be committed:
#
# new file: LICENSE
# modified: README.txt

Následně opět provedeme potvrzení změn (commit) s přiložením komentáře.

git commit -m "Add LICENSE and finish README."


4.3.1.7. První krůčky - vzdálené repository

Vzdálená repository je v podstatě jakákoli další repository. Může být uloženo skutečně na vzdáleném serveru a dostupná např. přes ssh, nebo to může být jen vedlejší adresář či adresář uložený na externím disku ...

  • vypsání seznamu nastavených vzdálených repository
  • vypsání bližších informací o vzdálené repository
  • přidání vzdálené repository
  • odebraní vzdálené repository ze seznamu
  • kopie vzdálené repository

Jak si vypíši seznam nastavených vzdálených repository

git remote
git remote -v

První příkaz vypíše pouze názvy odkazů na vzdálené repository. Druhý vypíše podrobnější informace.

Jak si vypíši podrobnější informace o vzdálené repository

git remote show název_repository

Název repository naleznete v seznamu odkazů na vzdálené repository.

Jak přidám novou vzdálenou repository

# repository na vzdáleném serveru
git remote add náš_název user@server:cesta/repository.git

# repository v jiném adresáři, třeba na externím disku
git remote add náš_název /cesta/repository

Odkaz “náš_název” je pak to co používáme k odkazování se na vzdálenou repository, aby nebylo třeba neustále opisovat a pamatovat si celou cestu.

Jak odeberu vzdálenou repository ze seznamu

Odebrání - smazání vzdálené repository ze seznamu nemá žádný vliv na vzdálenou repository, pouze odstraníme link na své straně. Název naleznete ve výpise vzdálených repository.

git remote rm název_vzdálené_repository

Jak provedu synchronizaci se vzdálenou repository

Předpoklad, máme vlastní založenou repository, která je aktuálně prázdná nebo máme její zastaralouverzi a chceme si stáhnout čersvtou kopii dat ze vzdálené repository. Máme vložený link na vzdálenou repository.

git pull nas_link master

Note

Stáhne větev “master”.

Hint

Provede stažení “fetch” a nasledné sloučení “merge” s naší repository.

Jak pošlu data zpět do vzdálené repository

Předpoklad, máme změny hotové a chceme je sdílet s ostatními. Máme vzdálené “bare” repository a chceme změny do něj poslat.

git push nas_link master

Note

Zkopíruje “master” větev do vzdálené repository, resp. změny, které jsme provedly.



4.3.1.8. První krůčky - kopie vzdálené repository

Jak si zkopíruji vzdálenou repository na lokální disk

Vytvoří kopii repository na lokální disk. V aktuální adresáři vytvoří nový podadresář a do něj uloží kopii repository.

git clone user@server:cesta/repository.git

# NEBO:
# místo "origin" se použije "nas_nazev"

git clone -o nas_nazev user@server:cesta/repository.git

# NEBO:

git clone /cesta/repository

Note

Používání přípony ”.git” u jmen adresářů je konvencí označující tzv. bare repository, nebo-li repository bez pracovního adresáře.

Hint

Příkaz clone zároveň vytvoří zápis do vzdálených repository pod názvem “origin” s cestou ke vzdálené repository. Parametr “-o nazev” umožnuje nastavit si odpovídající název pro vzdálenou repozitory ...