Git: Versioning

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Doplnění pojmu ''snímek''.)
(Vytvoření snímku projektu: Oprava chyby - přepínač je "-m", nikoli "-M"!)
 
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.)
Řádka 6: Řádka 6:
 
* Zde se budeme zabývat vytvářením jednotlivých verzí a jejich správou na lokálním počítači.
 
* Zde se budeme zabývat vytvářením jednotlivých verzí a jejich správou na lokálním počítači.
 
* Určitě si také budete chtít přečíst materiál o vytváření vzdálených repozitářů: [[Git: Repository]].
 
* Určitě si také budete chtít přečíst materiál o vytváření vzdálených repozitářů: [[Git: Repository]].
 
  
 
== Správa verzí ==
 
== Správa verzí ==
Řádka 12: Řádka 11:
 
* V tomto dokumentu si ukážeme příkazy, které můžete použít nezávisle na vývojovém prostředí.
 
* V tomto dokumentu si ukážeme příkazy, které můžete použít nezávisle na vývojovém prostředí.
 
* Můžete je klidně použít pro správu verzí u dokumentů ve Wordu či Excelu či pro jakékoli jiné dokumenty. Nejlepší výsledky ale získáte při použití s textovými dokumenty, kde umí Git detailně sledovat změny.
 
* Můžete je klidně použít pro správu verzí u dokumentů ve Wordu či Excelu či pro jakékoli jiné dokumenty. Nejlepší výsledky ale získáte při použití s textovými dokumenty, kde umí Git detailně sledovat změny.
 
  
 
== Historie projektu, snímky ==
 
== Historie projektu, snímky ==
Řádka 19: Řádka 17:
 
* Každou ucelenou sadu změn, která náš systém o něco vylepší, bychom tedy měli zakončit vytvořením snímků.
 
* Každou ucelenou sadu změn, která náš systém o něco vylepší, bychom tedy měli zakončit vytvořením snímků.
 
* Zároveň je důležité u každého snímku popsat, jaké změny řešil a co se změnilo, případně na jaký problém (''issue'') reaguje.
 
* Zároveň je důležité u každého snímku popsat, jaké změny řešil a co se změnilo, případně na jaký problém (''issue'') reaguje.
 +
* Každý snímek má vždy zobrazen i identifikační kód (hash).
 +
* Na jednotlivé snímky se můžete pomocí tohoto kódu odkazovat.
  
 +
== Založení lokálního projektu ==
 +
<div class="Varovani">
 +
Pokud chcete používat cloudový repozitář na GitHubu, začněte tím, že si repozitář vytvoříte a&nbsp;naklonujete.
 +
 +
Více viz: [[Git: Repository#Vytvo.C5.99en.C3.AD_repozit.C3.A1.C5.99e | Git: Repository]].
 +
</div>
  
== Založení projektu ==
 
 
* Přesuňte se do složky, ve které bude umístěn váš projekt. V&nbsp;příkazovém řádku Windows můžete použít:
 
* Přesuňte se do složky, ve které bude umístěn váš projekt. V&nbsp;příkazovém řádku Windows můžete použít:
 
  rem Zvolte diskovou jednotku, na které je váš projekt
 
  rem Zvolte diskovou jednotku, na které je váš projekt
Řádka 30: Řádka 35:
 
  git init
 
  git init
 
* Git si v&nbsp;aktuální složce vytvoří podsložku <code>.git</code>, ve které si bude ukládat informace o&nbsp;jednotlivých verzích dokumentu.
 
* Git si v&nbsp;aktuální složce vytvoří podsložku <code>.git</code>, ve které si bude ukládat informace o&nbsp;jednotlivých verzích dokumentu.
 
  
 
== Zařazení aktuálních změn do nového snímku ==
 
== Zařazení aktuálních změn do nového snímku ==
 +
git status
 +
* Zobrazí, které soubory byly změněny od posledního snímku (''commitu'') &mdash; které soubory jsou tzv. ''unstaged''.
 +
 
  git add ''soubor''
 
  git add ''soubor''
 
* Zařadí do příštího snímku jeden změněný soubor.
 
* Zařadí do příštího snímku jeden změněný soubor.
Řádka 38: Řádka 45:
  
 
  git add .
 
  git add .
* Zařadí do nové verze všechny soubory v&nbsp;aktuálním adresáři.
+
* Zařadí do nové verze všechny soubory v&nbsp;aktuálním adresáři a&nbsp;všech jeho podadresářích.
  
 +
git add -A
 +
* Zařadí do příštího snímku všechny změněné soubory v&nbsp;celém repozitáři.
  
 
== Vytvoření snímku projektu ==
 
== Vytvoření snímku projektu ==
 
  git commit
 
  git commit
 
* Následně je třeba zapsat název aktuálního snímku a&nbsp;popis změn, které jsme provedli.
 
* Následně je třeba zapsat název aktuálního snímku a&nbsp;popis změn, které jsme provedli.
 +
* Otevře se nám nastavený textový editor.
 +
* První řádek je nadpis, další řádky jsou popis.
 +
* Nepoužívejte diakritiku! Nebo rovnou pište v&nbsp;angličtině. ;)
 +
* Uložte soubor a&nbsp;zavřete editor.
  
  git commit -M "''Nazev verze bez diakritiky''"
+
  git commit -m "''Nazev snimku bez diakritiky''"
 
* Pro jednoduché projekty lze využít tuto zkrácenou syntaxi.
 
* Pro jednoduché projekty lze využít tuto zkrácenou syntaxi.
 
* Důsledně to ale zvažte a&nbsp;zvykněte si spíš na podrobnější popis.
 
* Důsledně to ale zvažte a&nbsp;zvykněte si spíš na podrobnější popis.
* Pro některé firmy je použítí <code>-M</code> považováno za porušení pravidel.
+
* Pro některé firmy je použítí <code>-m</code> považováno za porušení pravidel.
 +
 
 +
== Zobrazení historie ==
 +
* Každý snímek má vždy zobrazen i&nbsp;identifikační kód (hash).
 +
* Na jednotlivé snímky se můžete pomocí tohoto kódu odkazovat.
 +
 
 +
git log
 +
* Zobrazí seznam změn.
 +
* Ve výpisu můžete listovat šipkami.
 +
* Výpis ukončíte klávesou ''Q''.
 +
 
 +
git log --oneline --decorate --graph
 +
* <code>--oneline</code>... zobrazí u&nbsp;každého snímku jen nadpis.
 +
* <code>--graph</code>... pokud máte více větví, zobrazí „graficky“ návaznost větví.
 +
 
 +
git reflog
 +
* Zobrazuje data z&nbsp;logu odkazů.
 +
* Kde je právě ukazatel <code>HEAD</code>.
 +
* Můžeme zobrazit posloupnost odvolaných snímků.
 +
 
 +
== Návrat k&nbsp;poslednímu snímku ==
 +
git reset
 +
* Budou zrušeny všechny změny od posledního snímku (''commitu'');
 +
 
 +
== Odvolání změn ==
 +
git revert ''a99fcf9''
 +
* Zruší změny, které byly provedeny ve snímku (''commitu'') s&nbsp; ID <code>a99fcf9</code>.
 +
* Změny z&nbsp;navazujících ''commitů'' zůstanou platné, zruší se POUZE změny provedené v&nbsp;tomto jednom ''commitu''.
 +
* Vytvoří se nový commit, kde můžete vysvětlit, proč změny odstraňujete.
 +
* I&nbsp;tento ''revert-commit'' lze později odvolat.
 +
 
 +
git revert ''a99fcf9''..''2ef9baa''
 +
* Zruší změny, které byly provedeny v&nbsp;daném rozsahu snímků (včetně obou uvedených).
 +
* Vytvoří se nový commit, kde můžete vysvětlit, proč změny odstraňujete.
  
  
 
== Související stránky ==
 
== Související stránky ==
 
* [[Git]], [[Git: Repository]]
 
* [[Git]], [[Git: Repository]]

Aktuální verze z 30. 12. 2020, 23:45


Obsah

Git

Správa verzí

Historie projektu, snímky

Založení lokálního projektu

Pokud chcete používat cloudový repozitář na GitHubu, začněte tím, že si repozitář vytvoříte a naklonujete.

Více viz: Git: Repository.

rem Zvolte diskovou jednotku, na které je váš projekt
c:
rem Přesuňte se do adresáře s projektem. Například:
cd c:\Users\xyz\Documents\Develop\MujProjekt
git init

Zařazení aktuálních změn do nového snímku

git status
git add soubor
git add .
git add -A

Vytvoření snímku projektu

git commit
git commit -m "Nazev snimku bez diakritiky"

Zobrazení historie

git log
git log --oneline --decorate --graph
git reflog

Návrat k poslednímu snímku

git reset

Odvolání změn

git revert a99fcf9
git revert a99fcf9..2ef9baa


Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje