- tekee git repon
- luo .git-kansion
- kertoo gitin sen hetkisen tilanteen
- Onko tiedostoissa muutoksia?
- Onko tullut uusia tiedostoja?
- Onko commitoituja, mutta ei vielä repoon vietyjä muutoksia?
- lisää jotain lastausalueelle
- vie jotain repoon
-m
voi määrittää commitin otsikon
-m "title" -m "description"
voi määrittää commitille pidemmän kuvauksen
- hyvä nyrkkisääntö on, että jos commitin title pituus > 50 merkkiä, lyhennä se ja kirjoita kuvaukseen tarkemmat speksit
- Näyttää gitin historian eli mitä committeja on tehty, kenen toimesta ja milloin
- peruutus-komento
- Auttaa palaamaan menneisyyteen committien mukaan
# Tehdään muutos tama-gittiin-mukaan.txt tiedostoon
# Lisää jotain tekstiä ja ctrl+O ja ctrl+X
nano tama-gittiin-mukaan.txt
# Git huomaa, että tiedosto on muuttunut
git status
# Commitoidaan muutos
git add .
git commit -m "Add text"
# Katso gitin historiaa
git log
# Kopioi edellisen "commit"-merkkijonon jälkeen oleva pidempi merkkijono (COMMITIN_HASH)
# klikkaa q:ta, niin pääset logista pois
# Palaa tilapäisesti edellisen commitin tilaan
git checkout COMMITIN_HASH
# Git sanoo "HEAD is now at…"
# Tämä tarkoittaa, että git on nyt kyseisen commitin mukaisessa tilassa
# Katso tama-gittiin-mukaan.txt sisältö
# Ei pitäisi olla mitään
cat tama-gittiin-mukaan.txt
# Palaa takaisin nykyhetkeen
git checkout master
# Katso tama-gittiin-mukaan.txt sisältö
# Tulostuu se merkkijono, jonka lisäsit
cat tama-gittiin-mukaan.txt
- palauttaa tiedoston siihen tilaan, mitä se on repossa (eli vähän niin kuin ctrl+z)
# Tehdään muutos tama-gittiin-mukaan.txt tiedostoon
# Lisää jotain tekstiä ja ctrl+O ja ctrl+X
nano tama-gittiin-mukaan.txt
# Git huomaa, että tiedosto on muuttunut
git status
# Tarkastele muutoksia ja päätä haluatko commitoida muutoksen
# Tämä on hyvä komento ja sitä kannattaa opetella käyttämään "git add ." sijaan
#
# Tämä on syy miksi käytettiin git add -N aiemmin
#
git add -p
# Paina n, koska nyt ei haluta commitoida tuota muutosta
# Palauta tiedosto repon tilaan eli peruuta muutokset
git checkout tama-gittiin-mukaan.txt
# Katso tama-gittiin-mukaan.txt sisältö
# Ei pitäisi olla aiemmin kirjoitettu tekstiä
cat tama-gittiin-mukaan.txt
- Voidaan käyttää myös haaran (branch) vaihtamiseen
- myöskin eräänlainen peruutuskomento
- Voidaan käyttää mm. silloin, kun lastausalueelle on lisätty muutos, jota ei halutakaan sinne laittaa
# Tehdään muutos tama-gittiin-mukaan.txt tiedostoon
# Lisää jotain tekstiä ja ctrl+O ja ctrl+X
nano tama-gittiin-mukaan.txt
# Lisää muutokset lastausalueelle
git add .
# Ai niin, ei saanut käyttää git add .
# Peruutetaan lisäys, jolloin tiedosto on uudestaan "Changes not staged for commit"-osiossa
git reset HEAD tama-gittiin-mukaan.txt
- Tai halutaan lopullisesti siirtyä gitin historiassa taaksepäin
# Tehdään tyhmä muutos
nano tama-gittiin-mukaan.txt
# Lisätään lastausalueelle
git add .
# Commitoidaan
git commit -m "Stupid change"
# Katsotaan gitin historia
git log
# Huomataan tyhmä muutos ja halutaan palata takaisin edellisen commitin tilaan
# Kopioi edellisen commitin hash ja paina q
git reset --hard COMMITIN_HASH
- "Laita nykyiset muutokset johonkin talteen ja anna mä teen nyt töitä nykyisellä repolla"
- Tätä komentoa voi käyttää, kun on muutoksia, jotka eivät ole vielä commitin arvoisia, mutta joita ei kuitenkaan halua menettää. Ja kun pitää akuutisti tehdä joku muu juttu koodikantaan ennen kuin voi taas jatkaa omien muuutosten parissa
- stash-jemmassa muutokset ovat stackissa eli pinossa kuten oikeat commititkin
touch kriittinen-tiedosto.txt
touch random-tiedosto.txt
nano kriittinen-tiedosto.txt
git add . && git commit -m "Add critical file"
nano random-tiedosto.txt
# Alert! Joku tulee sanomaaan, että nyt pitäisi heti saada muutettua sitä kriittistä tiedostoa!
# gitissä on kuitenkin commitoimattomia muutoksia :(
# Laitetaan ne jemmaan
git stash
# Tehdään muutos ja commitoidaan muutos
nano kriittinen-tiedosto.txt
git add . && git commit -m "Change critical file"
# Olikos mulla jemmassa jotain keskeneräisiä juttuja?
git stash list
# Palautetaan muutokset jemmasta
git stash pop