Show Menu
Cheatography

GIT peruskomennot Cheat Sheet (DRAFT) by

Muutamia peruskomentoja GIT VCS:n käyttöä helpottamaan

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Konfig­uro­inti, git config

git config user.name "­Etunimi Sukuni­mi"
Asettaa käyttä­jänimen joka näkyy esim. versio­his­tor­iassa muutoksen tekijänä.
git config user.email "­etu­nim­i.s­uku­nim­i@v­erk­koa­sem­a.f­i"
Kuten yllä, mutta sähköp­ost­ios­oit­teelle.
git config --list
Näyttää nykyisen kofigu­raa­tion.
Asetukset ovat reposi­tor­yko­hta­isia. --global flagilla voit asettaa esim. käyttä­jänimen kerralla globaa­listi, git config --global user.name "­Etunimi Sukuni­mi"

Aloitt­aminen

git init
Luo nykyiseen hakemi­stoon uuden reposi­toryn. Käytetään silloin, kun luodaan ensimm­äinen repository uudelle projek­tille.
git status
Näyttää nykyisen reposi­toryn tilanteen; esim. nykyisen haaran (branch), onko se ajan tasalla yms.
git clone user@d­oma­in.xyz:path/­to/­rep­o.git
Kopioi olemas­sao­levan reposi­toryn nykyiseen hakemi­stoon (SSH:n yli), ja lisää sen automa­att­isesti remoteksi.

Muutos­his­toria

git log
Näyttää kaikki commitit, alkaen uusimmasta
git log -p tiedos­ton­imi.xyz
Näyttää ks. tiedoston muutos­his­torian
git diff
Näyttää kaikki commit­oim­attomat muutokset
git diff HEAD ./path­/to­/fi­le.xyz
Näyttää viimei­simmän commitin jälkeen tiedostoon tehdyt muutokset.
git blame ./path­/to­/fi­le.xyz
Kuka töhöili ja mitä... ;) Eli näyttää kuka on viimeksi muokannut tiedostoa, ja mitä on muokattu
 

Muutosten tekeminen

git add tiedos­ton­imi.xyz
Lisää kyseisen tiedoston commit­oit­avaksi
git add --all
Asettaa kaikki muuttuneet tiedostot commit­oit­avaksi
git commit -m "­Tii­vis­telmä muutok­sis­ta"
Commitoi add-ko­men­nolla lisätyt muutokset
git commit -am "­Tii­vis­telmä muutok­sis­ta"
Commitoi automa­att­isesti kaikki muuttuneet tiedostot
git commit --amend -m "­Päi­vitetty tiivis­telmä muutok­sis­ta"
Muutta­a/p­äiv­ittää edellistä committia
Committia odotttavat tiedostot ovat ns. staging arealla.
HUOM! Remoteen julkai­stuja committeja ei saa muokata, vaan muutokset on tehtävä uusina commit­teina.

Muutosten kumoaminen

git reset --hard HEAD
Kumoaa kaikki paikal­liset muutokset
git reset --soft HEAD~1
Kumoaa edellisen commitin
git reset --hard 0ad5a7a6
Palauttaa tiedoston annetun commit­-tu­nni­steen mukaiseen tilaan
git checkout tiedos­ton­imi.xyz
Palauttaa annetun tiedoston edellisen commitin mukaiseen tilaan
--hard flagi tuhoaa kaikki tehdyt muutokset, joten sen kanssa on syytä olla varova­inen.
--soft flagi säilyttää muutokset, ja ne ovat komennon jälkeen commit­oim­att­omina muutoksina staging arealla
 

Haarat (branch)

git branch haaran­_nimi
Luo uuden haaran valitulla nimellä
git checkout haaran­_nimi
Vaihtaa aktiivisen haaran
git checkout -b haaran­_nimi
Kuten yllä, mutta luo ja vaihtaa haaran yhdellä komennolla
git merge haaran­_nimi
Liittää haaran master­-ha­araan
git branch -D haaran­_nimi
Poistaa haaran
git rebase haaran­_nimi
Hakee masteriin tehdyt muutokset annettuun haaraan.
git rebase --continue
Jos rebasen aikana tulee ristir­iitoja, tämä komento jatkaa rebasea. Suorita vasta kun olet ratkaissut ristir­iidat.
Oletus­haara on nimeltään master

Muutokset reposi­toryjen välillä

git pull
"­Vet­ää" muutokset remote­-re­pos­ito­rystä
git push
"­Työ­ntä­ä" muutokset remote­-re­pos­itoryyn
git pull origin haaran­_nimi
"­Vet­ää" muutokset origin- reposi­torystä annetusta haarasta.
git push origin haaran­_nimi
"­Työ­ntä­ä" muutokset origin- reposi­toryyn annettuun haaraan.
git remote -v
Listaa kaikki remotet
Remote­-re­pos­itoryjä voi olla useita. Jos repository on kloonattu, git asettaa automa­att­oisesti lähder­epo­sitoryn aliakseksi
origin
, ja käyttää sitä pull/push komentojen oletuk­sena. Komenn­oissa voi käyttää aliaksen tilalta myös suoraan SSH:ta; user@d­oma­in.xyz:path/­to/­rep­o.git master