Git

Opasnet Suomista
Siirry navigaatioon Siirry hakuun




Git on Linux-käyttöjärjestelmän päivittämiseen kehitetty versionhallintajärjestelmä, jonka toimintaperiaatteissa on opittavaa myös päätökseteon tukemiseen.

Linux lienee maailman suurin täysin joukkoistettu tietotekninen kehitysprojekti. Lopputuloksena on laaja, tehokas ja sisäisesti koherentti käyttöjärjestelmä. Käyttöjärjestelmän kehitysprosessi on nerokas.

Ruohonjuuritasolla kuka tahansa voi kirjoittaa tai parannella olemassaolevaa koodia johonkin käyttöjärjestelmän osaan. Käytännössä kuitenkin työtä tehdään tiimeissä, joilla on omat vastuualueensa. Seuraavan kehitysvaiheen tavoitteet julkaistaan ja tiimit käyvät työhön. Olennaista on jatkuvasti testata ja poistaa virheitä koodista. Parannettu koodi päätyy tiiminvetäjän hyväksyttäväksi, joka lähettää sen edelleen hyväksyttäväksi osana laajempaa kokonaisuutta, ja lopulta Linus Torvalds hyväksyy seuraavaan versioon tulevat päivitykset. Sen jälkeen uusi versio tulee jakoon.

Koko käyttöjärjestelmä koostuu paketeista, joiden on toimittava saumattomasti yhteen. Jos muutettu paketti kaatuu, se hylätään automaattisesti, joten ensimmäisenkin eteenpäin menevän ehdotuksen on oltava hyvä. Kriteerit tiukkenevat komentoketjussa, ja vain kokonaan erinomaiset koodit päätyvät osaksi käyttöjärjestelmää.

Pakettien hallintaan on kehitetty oma versionhallintaohjelma, git. Sen avulla useampi koodari voi ottaa työn alle saman koodin, ja muutokset yhdistetään ja tarkistetaan usein. Päällekkäiset muutokset tarkistetaan yhdessä.

Mitä opittavaa?

Linuxin kirjoittamisprosessi voi toimia mallina jaetulle ymärrykselle, jossa siinäkin on tasan yksi laaja ja sisäisesti koherentti lopputulos. Git ei toimi ainoastaan koodille vaan on yleinen tiedostojen versionhallintajärjestelmä. Sitä voi siis käyttää myös vapaamuotoisen sisällön tuottamiseen. Tosin ei ole selvää, onko se vapaamuotoisen sisällön tuottamisessa parempi kuin Mediawikin versionhallinta. Toimintamallin onnistuminen tehokkaasti vaatisi, että tuotettujen pakettien yhteensopivuus voidaan automaattisesti testata. Koska jaetun ymmäryksen relaatiot eivät vielä ole selvillä, on vaikea tietää onko tämä mahdollista.

Katso myös