(H) Gitin ignore-tiedoston tekeminen

Tavoitteet: Opin asettamaan .gitignore-tiedoston repositoriooni.

Ohjeita: Toteuta henkilökohtaiseen Git-keskustietovarastoosi .gitignore-tiedosto, jonka avulla kaikki Qt Creatorin muodostamat build-hakemistot sekä .pro.user-päätteiset tiedostot jäävät pois versionhallinnasta.

Tärkeää

Tämän tehtävän tekeminen on erittäinen suositeltavaa, koska se helpottaa työskentelyäsi tällä kurssilla.

Tehtävä kannattaa tehdä, vaikka sen määräaika olisi jo kulunut umpeen.

Taustaa

On olemassa tiedostoja, joita ei haluta tallentaa versionhallintaan. Esimerkiksi kaikki Qt Creatorin build-kansiosta löytyvät tiedostot pystyy luomaan uudelleen suorittamalla buildin Qt Creatorissa, kun vain lähdekooditiedosto ja projektitiedosto on tallella, joten miksi lisäisimme build-kansion sisältöä Gittiin.

Emme halua lisätä näitä tiedostoja vahingossa esimerkiksi git add --all -komennolla tai katsoa edes kyseisiä tiedostoja git status -komennon yhteydessä. Asiassa auttaa .gitignore -niminen tiedosto. Kyseessä on tavallinen tekstitiedosto, johon on lueteltu kaikki versionhallinnan ulkopuolelle jäävät polut ja tiedostot. Voit luoda tällaisen tiedoston millä tahansa editorilla. (Esimerkiksi Linux-etätyöpöydältä löytyy editori: Applications -> Accessories -> Text Editor.)

Tässä kohdassa voimme muistella villikorttien käyttöä ja mitä tarkoittavat esimerkiksi *.txt tai *~. (Jos et muista, mitä nämä tarkoittavat, voit tarkistaa asian materiaalin lopusta löytyvästä luvusta Itseopiskelu: Gitin käyttö komentoriviltä ja sieltä aliluku Komentorivioperaatioita ja kohta Polkuihin liittyviä erikoismerkkejä.)

Esimerkiksi .pro.user-päätteiset tiedostot sisältävät Qt-projektin paikallisia asetuksia, joita ei yleensä haluta tallentaa Gitiin. Kun lisäät tiedostoon .gitignore rivin:

*.pro.user

Git jättää jatkossa kaikki .pro.user-päätteiset tiedostot huomioimatta, sillä merkin * tilalle sallitaan mitä tahansa merkkejä mikä tahansa määrä (ml. nolla). Jos keskustietovarastoosi on jo ehtinyt mennä .pro.user-päätteisiä tiedostoja, saat ne poistettua komennolla git rm.

Tehtävän aloitus

Luo repositoriosi juureen jollakin osaamallasi tavalla kaksi uutta tekstitiedostoa: .gitignore ja testi.pro.user. Komentorivillä (Terminal) tämä onnistuu komennolla:

touch .gitignore testi.pro.user

Mitä sanoo komento git status? Avaa .gitignore tekstieditorilla ja lisää sinne rivi *.pro.user. Katso uudestaan, miltä status näyttää.

Tehtävän viimeistely

Lisää .gitignore-tiedostoosi myös rivi, joka estää build-hakemistojen tulemisen mukaan versionhallintaan. Tässä tarkoitetaan siis kaikkia kotihakemistostasi löytyviä alihakemistoja, jotka alkavat tekstillä build-, ja tämän tekstin jälkeen sallitaan mitä tahansa merkkejä mikä tahansa määrä. Miten voisit hyödyntää merkkiä * nyt?

Voit varmistella oman gitignoresi toimintaa käyttämällä komentoa git status. Jos lisäät uusia tiedostoja ja status ei näytä niitä “Untracked files:”-osassa, toimii gitignore ainakin kyseisen tiedoston kohdalla.

Vinkkejä tehtävän tekemiseen:

  • Varmista aluksi, ettei repositoriossasi ole tallentamattomia muutoksia.
  • Tiedosto .gitignore pitää tehdä repositorion juureen (samaan hakemistoon, jossa sinulla on alihakemistot Examples, Student ja Templates).
  • Tehtävää tehdessäsi käytä apuna komentoa git status tilan tarkastelemiseen, kuten edellä opastettiin.
  • Älä missään nimessä vahingossakaan lisää .gitignore-tiedostoon sellaisia tiedostoja, joita sinun pitää palauttaa, esim. .cpp, .hh tai .pro.
  • Halutessasi voit kirjoittaa .gitignore-tiedostoon myös muita rivejä, joilla voit karsia automaattisesti pois tietyn tyyppisiä tiedostoja.
  • Tiedoston .gitignore nimi alkaa pisteellä. Siksi se ei näy komentorivikomennon ls listauksessa, mutta se näkyy komennolla ls -a. Tiedosto ei myöskään näy etätyöpöydän Files-näkymässä, ellet ole ruksannut kohtaa Show Hidden Files.

A+ esittää tässä kohdassa tehtävän palautuslomakkeen.