Mikä on Git? Johdatus versionhallintaan
Selitämme aloittelijoille vaihe vaiheelta esimerkkikomennoin versionhallinnan logiikan sekä commit-, branch- ja merge-käsitteet.

Git on ilmainen ja avoimen lähdekoodin hajautettu versionhallintajärjestelmä, joka tallentaa jokaisen tiedostoihin tehdyn muutoksen. Lyhyt vastaus kysymykseen mikä on Git: se säilyttää projektin historian askel askeleelta ja mahdollistaa virheellisen muutoksen peruuttamisen, usean henkilön työskentelyn samalla koodilla ilman päällekkäisyyksiä sekä erilaisten ideoiden kokeilun erillisillä haaroilla.
Mikä on versionhallintajärjestelmä?
Kuulostaako tutulta säilyttää dokumenttia kopioimalla sen nimillä “lopullinen”, “lopullinen-oikea”, “lopullinen-varmasti-tämä”? Versionhallintajärjestelmä on tämän sotkun järjestelmällinen ja luotettava versio. Se tallentaa jokaisen muutoksen sen mukana, kuka sen teki, milloin ja miksi.
Ohjelmistoissa tämä tallennus on elintärkeä. Jos eilen toiminut ominaisuus rikkoutui tänään, voit nähdä välillä tehdyt muutokset rivi riviltä ja tarvittaessa palata vanhaan tilaan. Tiimin kasvaessa ilman tätä järjestelmää työskentely käy melkein mahdottomaksi.
Git syntyi vuonna 2005 Linux-ytimen kehittämistä varten, ja se on nykyään maailman yleisimmin käytetty versionhallintatyökalu. Viralliset dokumentit ja latauslinkit löytyvät osoitteesta git-scm.com.
Mihin Gitiä käytetään?
Gitin arvo on paljon muutakin kuin pelkkä varmuuskopiointi. Oikein käytettynä se järjestää tiimin työtavan uudelleen alusta alkaen.
Ero on suuri jopa yksin työskentelevälle kehittäjälle. Uuden idean kokeilemiseksi projektia ei tarvitse kopioida; avaat haaran, kokeilet ja poistat sen, jos ei miellytä. Pääversio pysyy aina puhtaana ja toimivana, ja kokeilun kustannus laskee lähes nollaan.
- Säilyttää historian: jokainen tallennuspiste on otos projektista kyseisellä hetkellä.
- Helpottaa palaamista: virheellisen muutoksen voi peruuttaa yhdellä komennolla.
- Mahdollistaa rinnakkaisen työn: jokainen työskentelee omalla haarallaan ja yhdistää sen jälkeen.
- Tekee vastuun näkyväksi: on selvää, kuka muutti minkä rivin ja miksi.
- Se on hajautettu: jokaisen kehittäjän tietokoneella on projektin täysi kopio, ja työskennellä voi myös ilman internetiä.
- Liittyy julkaisuprosessiin: testaus- ja tuotantoonvientivaiheet voidaan automatisoida sitomalla ne tiettyihin haaroihin.
Peruskäsitteet: repositorio, commit, branch
Nopein tapa ymmärtää Git on omaksua neljä käsitettä. Komennot rakentuvat näiden päälle.
Repositorio (repository)
Repositorio on kansio, joka sisältää projektin tiedostot ja koko muutoshistorian. Piilotettu .git-kansio säilyttää tämän historian. Tietokoneellasi olevaa repositoriota kutsutaan paikalliseksi ja palvelimella, kuten GitHubissa tai GitLabissa, olevaa etärepositorioksi.
Mikä on commit?
Commit on tietyllä hetkellä tehtyjen muutosten kuvattu tallenne. Jokaisella commitilla on yksilöllinen tunniste. Hyvä commit on pieni ja yhteen tarkoitukseen keskittyvä; sen viesti vastaa kysymykseen “mikä muuttui ja miksi”.
Valmistelualue (staging)
Gitissä muutoksia ei tallenneta suoraan, vaan ne lisätään ensin valmistelualueelle. Näin voit samanaikaisesti muuttamistasi kymmenestä tiedostosta laittaa yhteen committiin vain kolme asiaankuuluvaa.
Branch ja merge
Branch (haara) on pääkoodista erkaantuva itsenäinen työlinja. Kehität uuden ominaisuuden erillisellä haaralla ja yhdistät sen valmiina päähaaraan merge-komennolla. Näin keskeneräinen työ ei riko toimivaa versiota.
Gitin peruskomennot
Gitin asentamisen jälkeen suurin osa päivittäisestä työstä hoituu kourallisella komentoja. Asennusvaiheet löydät oppaastamme Gitin asennus. Alla olevat komennot toimivat samalla tavalla Windowsissa, macOS:ssä ja Linuxissa.
git --version
git config --global user.name "Etunimi Sukunimi"
git config --global user.email "eposta@ornek.com"
mkdir proje && cd proje
git initgit status
git add index.html
git add .
git commit -m "Etusivun otsikko lisätty"
git log --onelinegit switch -c iletisim-formu
# ... tee muutokset ja tee commit ...
git switch main
git merge iletisim-formu
git branch -d iletisim-formugit clone https://github.com/kullanici/proje.git
git pull
git push origin mainTyypillinen Git-työnkulku
Jo pienessä tiimissä alla oleva työnkulku ehkäisee sekaannusta huomattavasti.
- Hae ajantasainen koodi: päivitä päähaara komennolla git pull ennen työn aloittamista.
- Avaa uusi haara: luo jokaiselle ominaisuudelle tai korjaukselle oma haara.
- Tee pieniä committeja: tallenna jokainen järkevä vaihe selkeällä viestillä.
- Lähetä haara etärepositorioon: jaa työsi komennolla git push.
- Pyydä katselmointia: avaa GitHubissa pull request, GitLabissa merge request.
- Yhdistä hyväksynnän jälkeen: päähaaraan päätyy vain katselmoitua koodia.
Gitin ja GitHubin ero
Tämä on useimmin sekoitettu asia. Git on työkalu; se toimii tietokoneellasi ja ylläpitää historiaa. GitHub, GitLab ja Bitbucket taas ovat palveluita, jotka isännöivät Git-repositorioita internetissä ja lisäävät niihin katselmoinnin, tehtävien seurannan ja automaation.
Gitiä voi käyttää yksin ilman mitään alustaa. Tiimityössä ja varmuuskopioinnissa etärepositorion käyttämisestä on kuitenkin tullut käytännössä standardi.
| Ominaisuus | Git | GitHub / GitLab |
|---|---|---|
| Tyyppi | Komentorivityökalu | Verkkopohjainen alusta |
| Missä toimii | Paikallinen tietokone | Etäpalvelin |
| Päätehtävä | Historian tallentaminen | Repositorion jakaminen ja hallinta |
| Internet | Ei vaadita | Vaaditaan |
| Lisäominaisuudet | Haarat, yhdistäminen, historia | Katselmointi, tehtävät, automaatio |
.gitignore ja hyvä commit-viesti
Jokaisessa repositoriossa tulee olla .gitignore-tiedosto, joka määrittää, mitä ei seurata. Riippuvuuskansiot, käännöstulosteet, lokitiedostot ja ympäristömuuttujat kuuluvat tälle listalle. Näin repositorio pysyy pienenä, uudelleentuotettavat tiedostot eivät paisuta historiaa eikä salaisia tietoja jaeta vahingossa.
Commit-viesti taas on muistiinpano, jonka luet kuuden kuukauden päästä. On yleinen tapa kirjoittaa ensimmäiselle riville noin 50 merkin tiivistelmä käskymuodossa: esimerkiksi “Korjaa ostoskorin summan pyöristysvirhe”. Tarvittaessa selitä tyhjän rivin jälkeen syy ja vaikutus.
Hyvät viestit eivät ole vain järjestyksen vuoksi. Kun haluat selvittää, mikä muutos toi virheen, komennot git log ja git blame ohjaavat sinut suoraan; kuvailevat viestit lyhentävät tätä etsintää minuutteihin. Yhteisen viestimuodon sopiminen tiimissä nopeuttaa myös koodikatselmointia.
node_modules/
dist/
.env
*.log
.DS_StoreAloittelijoiden yleisimmät virheet
Useimmat näistä virheistä katoavat itsestään muutaman viikon harjoittelulla. Tärkeintä on omaksua pienten ja selitettyjen commitien tapa ensimmäisestä päivästä lähtien.
- Salaisen tiedon commitointi: salasanat ja API-avaimet eivät saa päätyä repositorioon; lisää .env-kaltaiset tiedostot .gitignoreen.
- Jättimäiset commitit: viikon työn laittaminen yhteen committiin vaikeuttaa palaamista.
- Merkityksettömät viestit: kirjoita “korjaus” tai “asdf” sijaan, mitä muuttui.
- Työskentely suoraan päähaaralla: keskeneräinen työ voi rikkoa tuotantoversion.
- Konfliktien pelkääminen: merge conflict on normaali; Git näyttää selvästi, mitkä rivit ovat ristiriidassa.
- Kansioiden kuten node_modules lisääminen: älä laita uudelleen luotavia tiedostoja repositorioon.
Mistä Gitin opiskelun kannattaa aloittaa?
Tehokkain tapa on hallita pientä projektia alusta loppuun Gitillä. Yksinkertainen HTML-sivu tai pieni skripti, jollaista kuvaamme artikkelissa mikä on JavaScript, riittää käsitteiden omaksumiseen.
Seuraavassa vaiheessa voit perustaa Node.js-projektin ja kokeilla pakettitiedostoja, .gitignorea ja haaroja yhdessä. Kysymykseen siitä, pidetäänkö käyttöliittymä- ja palvelinkoodi samassa vai eri repositoriossa, vastaa artikkelimme frontendin ja backendin ero.
Ammattimaisissa projekteissa Git on työn näkymätön mutta välttämätön selkäranka. Aurora Yazılımilla kaikki verkkosivujen suunnittelu-, yrityksen verkkosivut- ja verkkokauppa-alusta-projektit viedään läpi versionhallinnalla; näin jokainen muutos pysyy jäljitettävänä ja peruutettavana.
Usein kysytyt kysymykset
01Tarvitseeko Gitin oppimiseen olla ohjelmoija?
Ei. Gitiä voi käyttää paitsi koodille myös kaikille tekstipohjaisille tiedostoille. Kirjoittajat, suunnittelijat ja dokumentaatiotiimit hyödyntävät Gitiä muutoshistorian seuraamiseen.
02Onko Git maksullinen?
Git on ilmainen ja avoimen lähdekoodin. Isännöintipalveluilla kuten GitHubilla ja GitLabilla on ilmaisia paketteja; edistyneisiin tiimiominaisuuksiin ne tarjoavat maksullisia paketteja.
03Miten perun commitin?
Jaetun commitin peruuttamiseen turvallisin tapa on käyttää git revert -komentoa; se ei poista historiaa vaan lisää päinvastaisen commitin. Paikallisiin, vielä lähettämättömiin muutoksiin voi käyttää git restore- tai git reset -komentoa, mutta älä aja reset --hard -komentoa ilman varmuutta siitä, mitä teet.
04Miksi merge conflict syntyy?
Kun kahdella haaralla muutetaan saman tiedoston samoja rivejä eri tavoin, Git ei voi päättää, kumpi on oikein. Konflikti ratkeaa, kun muokkaat tiedostossa merkityt kohdat ja teet commitin uudelleen.
Git on ohjelmistoprojektien muisti: se tallentaa jokaisen muutoksen ja helpottaa virheiden peruuttamista ja tiimityötä. Jos haluat projektisi kehitettävän tällä kurinalaisuudella, tutustu Aurora Yazılımin ohjelmistoratkaisuihin, nopean ja kestävän sivuston tarpeisiin nopeus- ja suorituskykyoptimointipalveluumme tai ota meihin suoraan yhteyttä.


