3.2 Projekt

Poznáš základné príkazy pre správu súborov v Git repozitári a príkaz git status. To je všetko, čo ti stačí aby si si po sebe skontroloval, či si všetko nastavil správne a ako vyzerajú súbory v repozitári. Rýchle opakovanie:

  • git config - nastaví meno a email používateľa
  • git init - inicializuje repozitár v aktuálnom priečinku
  • git status - zistí stav repozitára - oznámi, či sú súbory untracked, staged, committed alebo modified
  • git add - presunie súbory do stavu staged
  • git commit - uloží súbory zo stavu staged do histórie Gitu

Zároveň si pripomeňme stavový diagram súborov v Git-e:

git-file-stages.png

Zadanie

Napíš “Hello World” program v akomkoľvek programovacom jazyku podľa svojej voľby a pohraj sa s Git-om. Ak sa ti podarí bez pomoci splniť tieto kroky, si na správnej ceste Git-u aj porozumieť, nie len búchať príkazy. Skús splniť tieto kroky:

  1. Vytvor a naprogramuj projekt v priečinku git_project_1, ktorý na štandardný výstup (alebo do konzoly) vypíše text Hello World.
  2. Cez terminál vstúp do priečinka git_project_1
    • Všimni si, že v tomto priečinku nefunguje príkaz git config --local user.name - lebo ešte neexistuje repozitár
    • Všimni si, že v tomto priečinku nefunguje príkaz git status - lebo ešte neexistuje repozitár
    • Všimni si, že nefungujú ani príkazy git add, git commit
    • Ak ti funguje ktorýkoľvek z vyššie spomenutých príkazov, tak máš inicializovaný repozitár v niektorom nadpriečinku - čo je chyba. Musíš nájsť a vymazať nesprávne vytvorený priečinok .git
  3. Následne inicializuj repozitár v tomto projekte/priečinku.
    • Všimni si, že všetky súbory zostanú nedotknuté, len v tvojom priečinku pribudne skrytý priečinok .git
    • Zavolaj git status a pozorne si prečítaj všetko čo píše.
    • Vymenoval git status súbory začínajúce ..? Ak si v priečinku svojho projektu znamená to, že si spravil chybu.
  4. Všetky projekty pridaj do gitu (git add) a vytvor verziu (git commit).
  5. Vo svojom projekte implementuj načítanie mena zo štandardného vstupu a namiesto Hello World vypíš Hello [meno].
    • Všimni si, ako sa zmenil výstup príkazu git status
  6. Dostaň repozitár do takého stavu, aby v ňom boli súbory v nasledovných stavoch:
    • Súbor README.md je untracked
    • Súbor main.cpp (ak si v C++) je modified (ktorý vstup načíta zo súboru test_input.txt namiesto zo štandardného vstupu)
    • Súbor test_input.txt obsahuje text “Joh Doe” a je v stave staged
    • Súbor test_output.txt obsahuje text “Hello Joh Doe” a je v stave committed