Skip to content

Git-komennot selitettynä

Git-komennot, joita oikeasti käytät, ryhmiteltyinä tehtävän mukaan: repon luonti, työn tallentaminen snapshotteina, haarojen luonti ja merge, historian lukeminen, työskentely remoten kanssa, virheiden kumoaminen, työn sivuun laittaminen sekä tiedostojen ja alimoduulien hallinta. Jokainen rivi yhdistää komennon realistiseen kutsuun.

Gitissä on satoja komentoja, mutta arkinen työ tarvitsee vain muutamia. Mielenmalli on: työhakemisto on tiedostosi, indeksi (staging-alue) on seuraava commit ja HEAD on nykyinen commit. Teet stagen, teet commitin, jaat. Lue statusta usein. Kaikki alla oleva olettaa, että listattu komento on jo olemassa.

Referenssitaulukko · 55 merkintää
55 of 55 rows
Asetukset ja konfiguraatio
Asettaa nimesi, sähköpostisi tai editorisi kerran kaikille repoille.git config --global user.name "Ada"
Määrittää lyhytnimen komennolle, jonka kirjoitat usein.git config --global alias.co checkout
Luo uuden repositorion nykyiseen kansioon.git init
Kopioi etärepositorion koneellesi.git clone git@github.com:org/repo.git
Kopioi vain yhden haaran uusimmat commitit.git clone --depth 1 --single-branch git@github.com:org/repo.git
Snapshotin perusteet
Näyttää stagatut, muokatut ja jäljittämättömät muutokset.git status -sb
Stagaa muutokset, jotta ne päätyvät seuraavaan commitiin.git add src/app.ts
Käy muutokset läpi paloittain ja stagaa vain hyväksymäsi.git add -p src/app.ts
Stagaa muutokset kaikkiin jäljitettyihin tiedostoihin lisäämättä uusia.git add -u
Tallentaa stagatut muutokset uutena commitina.git commit -m "fix: null check"
Korvaa viimeisen commitin korjatulla.git commit --amend -m "fix: handle empty input"
Näyttää stagamattomat muutokset, tai stagatut --staged-lipulla.git diff --staged
Näyttää jokaisen muutoksen viimeisestä commitista stagattuna tai ei.git diff HEAD
Haarat ja merge
Listaa, luo tai poistaa haaroja.git branch feature-x
Poistaa mergatun haaran (-D pakottaa, -a listaa kaikki haarat).git branch -d feature-x
Vaihtaa haaraa (checkoutin moderni korvaaja).git switch feature-x
Luo uuden haaran ja vaihtaa siihen yhdellä askeleella.git switch -c feature-x
Vaihtaa haaraa tai palauttaa tiedostoja (vanhempi, laajempi komento).git checkout feature-x
Tuo toisen haaran muutokset nykyiseen haaraan.git merge feature-x
Peruuttaa ristiriitaisen mergen ja palauttaa haaran aiempaan tilaan.git merge --abort
Toistaa nykyisen haaran commitit toisen haaran päälle.git rebase main
Yhdistää, järjestää uudelleen tai muokkaa committeja toiston aikana.git rebase -i main
Kopioi yhden commitin toisesta haarasta tähän.git cherry-pick a1b2c3d
Merkitsee commitin luettavalla nimellä, kuten versiolla.git tag -a v1.2.0
Kirjaa ulos toisen haaran erilliseen kansioon samanaikaisesti.git worktree add ../repo-feature feature-x
Historian tutkiminen
Käy commit-historiaa läpi.git log --oneline --graph --decorate
Käy läpi historian kaikista haaroista, ei vain nykyisestä.git log --oneline --graph --all
Näyttää yhden commitin täyden diffin ja viestin.git show HEAD
Näyttää, kuka muokkasi kutakin tiedoston riviä viimeksi.git blame src/app.ts
Näyttää jokaisen commitin, johon HEAD on osoittanut, hylätyt mukaan lukien.git reflog
Etsii historiaa puolittamalla commitin, joka rikkoi jotain.git bisect start
Tiivistää commitit kirjoittajittain.git shortlog -sn
Nimeää nykyisen commitin laskien lähimmästä tagista.git describe --tags
Etäyhteistyö
Listaa tai lisää etärepositorioita.git remote add origin <url>
Listaa remotet niiden fetch- ja push-URL-osoitteineen.git remote -v
Lataa etämuutokset muuttamatta haarojasi.git fetch origin
Lataa etämuutokset ja poistaa viittaukset poistettuihin etähaaroihin.git fetch --prune
Lataa ja mergetää nykyisen haaran etämuutokset.git pull --rebase
Lähettää paikalliset commitit remoteen.git push -u origin feature-x
Ylikirjoittaa etähaaran, mutta vain jos kukaan ei pushannut ensin.git push --force-with-lease origin feature-x
Muutosten kumoaminen
Hylkää työhakemiston muutokset tai poistaa ne stagelta.git restore src/app.ts
Poistaa tiedoston stagelta ja säilyttää sen muokkaukset työhakemistossa.git restore --staged src/app.ts
Siirtää nykyisen haaran kärkeä ja valinnaisesti indeksiä.git reset --hard HEAD~1
Lisää uuden commitin, joka kumoaa aiemman (turvallinen jakaa).git revert HEAD
Poistaa jäljittämättömät tiedostot ja kansiot.git clean -fd
Stash
Tallentaa commitoimattoman työn ja nollaa työhakemiston.git stash -u
Näyttää kaikki tallentamasi stashit.git stash list
Soveltaa stashia uudelleen ja säilyttää sen.git stash apply stash@{1}
Poistaa stashin, jota et enää tarvitse.git stash drop stash@{1}
Soveltaa viimeisimmän stashin ja poistaa sen.git stash pop
Tiedostot ja alimoduulit
Siirtää tai nimeää tiedoston uudelleen ja stagaa muutoksen.git mv old.ts src/new.ts
Poistaa tiedoston ja stagaa poiston.git rm src/old.ts
Seuraa toista repositoriota kansiona tämän sisällä.git submodule add git@github.com:org/lib.git lib
Kirjaa ulos vain nimeämäsi kansiot suuresta repositoriosta.git sparse-checkout set src docs
Vie commitin puun tar- tai zip-tiedostona.git archive -o repo.zip HEAD