Aika ajoin kuulee kovien Unix-miesten käyttävän versiohallintoja, kuten gitiä säilyttääkseen asetuksiaan turvassa. Asetuksia, kuten .vimrc
:tä, tai vaikkapa .asoundrc
:ta. Olin pitkään skeptinen menetelmän toimivuuden suhteen, mutta nyttemmin gittiä käytelleenä ajatus alkaa kuulostaa ihan hyvältä.
Miksikö olin skeptinen aiemmin? Versiohallinnat, ainakin ne vähän vanhemmat, tykkäävät masinoida yhtä hakemistokokonaisuutta. Jos minä sitten iskisin vaikka svn:n tulille, kotihakemistossani ~
, voisi tulla aika paljon tiedostoja laittaa ignoreen. Uusien tiedostojen lisäys valvonnan alle tapahtuisi lisäämällä poikkeuksia wildcard-pohjaiseen tiedostoignoreen. Vähän hankalaa, ehkä. En tiedä.
Gitillä homma toimii luultavasti rutkasti luppoisammin: ei tarvita edes mitään ignoreita, sillä kun muokkaan konffia riittävästi, voin vain komentaa git add .file && git commit
. Ja kirjoittelen oikein reilut kuvaukset, mitä sain muutetuksi systeemissäni. Git mahdollistaa helpon “lavastuksen” (staging) ja tässä tapauksessa järkevin tapa on todellakin commitella vain yhtä tiedostoa, sillä eihän esimerkiksi vimin ja screenin asetustiedostoilla ole mitään yhteistä tekijää. Commitit kannattaa aina pitää loogisina palasina.
Eräs hardcore ratkaisu on tietenkin iskeä kylmiltään koko koti hallinnan alle. Asiasta löytyy varsin miellyttävänoloinen wikiartikkeli, jonka luettuaan asia kuulostaa varsin mielekkäältä. Tiukkaa voisi tehdä, 80 gigasta puolet on käytössä, joskin Windows-pelien takia luku on niin iso. Jos hävitetään erilaisia väliaikaisia projekteja sisältävä ~/temp/
, varmuuskopioita syövä ~/back
ja muuten vain iso ~/Videoprojektit
, sekä tietysti ne pelit, päästään koossa — hmmh, nähtävästi alle gigatavuun. Taisin laskea väärin.
Sivuhuomautuksena: tutkiessani, missä meni pieleen, huomasin, ettei muinoin niin mainio flexbackup ole enää toiminut kovin konsistentisti. Kuva-backuppia ei näy missään. Skriptissä, joka poistaa vanhat snapshotit, on varmaan joku bugi. Heh, näyttää joltain bugilta. “Can’t use an undefined value as a HASH reference at /usr/bin/flexbackup line 4885.”.