Cvičení

Několik scénářů se kterými se můžete během vývoje software potkat. Vyzkoušejte si je opakovaně, aby jste si vryli do paměti způsob práce s Gitem. Zároveň doporučuji si příklady nejprvé projít v příkazové řádce, aby jste chápali zůpsob, jakým Git funguje na nejnižší vrstvě a následně si cvičení absolvovali i v grafickém rozhraní Vašecho vývojového prostředí.

Základní obsluha

  • Vytvořte si repozitář.
  • Vytvořte v něm 2 textové soubory a do každého napište několik řádků.
  • Přídejte provedené změny do indexu a následně změny commitněte.
  • Nyní zeditujte jeden soubor a opět jej commitněte.
  • Zeditujte druhý soubor a změny commitněte.
  • Vytvořte si účet na GitHubu, a založte si tam nový repozitář.
  • Přidejte vzdálený repozitář jako "origin" do lokálního repozitáře a pushněte změny na origin.
  • Ve vebovém prostředí ověřte obsah repozitáře.
  • Na jiním místě v počítači, nebo na jiném počítači si naklonujte právě pushnutý repozitář.
  • V novém klonu proveďte změnu a commitněte jí pushnete na origin.
  • V původní složce pullněte nové commity z originu.
  • Příkazem git log si prohlédněte historii.

Konflikt

Příklad, co se stane, když dva vývojáří změní tentýž kód.

  • Po vzoru předchozího cvičení si vytvořte na počítači, případně na dvou počítačích dvě kopie repozitáře, který bude mít společný origin na webu.
  • V prvním klonu upravte konkrétní řádek souboru, commitněte a pushněte.
  • V druhém klonu upravte tentýž řádek, commitněne a pushněte (push zahlásí chybu).
  • Nyní jsme si vyrobili konflikt. Ve stejném bodě v historii větve repozitáře proběhly dvě změny,které se navzájem vylučují (tzv. conflict).
  • Konflikt opravíme tak, že v druhém klonu, který nedokázal pushnout provedeme pull z originu.
  • Nyní nahlédněme do souboru, který obsahuje konflikt. Konflikt je označen speciální syntaxí <<<<<<< lokalni_zmena ======= zmena_z_originu >>>>>>>. Vyberte verzi, která je žádoucí a speciální syntaxi odstraňte. Tím je konflikt vyřešen.
  • Zavolejte příkaz git commit bez dalších parametrů a provede se commit s automatickým popiskem, že se jedná o řešení konflitku.
  • Pushněte nový commit na origin a poté pullněte jej v původním repozitáři.
  • Příkazem git log si prohlédněte historii.