sw1-python

Versionhallinnan käyttöönotto

Ohjelmistot rakentuvat vaihe vaiheelta ja pala palalta. Ohjelmistoja tehdään usein tiimityönä, ja tiimin jäsenten on päästävä käsiksi samaan ohjelmakoodiin. Ohjelmakoodista syntyy kehitystyön aikana useita versioita, ja joskus on tarve palata aiempaan versioon. On myös tärkeää varmistaa, että kerran kirjoitettu ohjelmakoodi ei vahingossa tuhoudu eikä katoa.

Tätä varten otetaan käyttöön versionhallinta.

Git ja GitHub

Opintojaksolla (ja ammattimaisessa ohjelmistokehityksessä usein) käytetään Git-nimistä hajautettua versionhallintaa. Hajautettu versionhallinta tarkoittaa sitä, että ohjelmakoodien yhteisestä tallennuspaikasta - eli repositoriosta - luodaan paikallisia kopioita versionhallinnan käyttäjien omille tietokoneille. Ajantasaiset tiedot päivitetään usein yhteisestä jaetusta repositoriosta omalla koneella olevaan paikalliseen repositorioon työskentelyn alkaessa (tästä käytetään termiä pull). Koodiin tehdyt muutokset tallennetaan uutena versiona paikalliseen repositorioon (käytetään termiä commit) ja voidaan päivittää takaisin jaettuun repositorioon (tätä kutsutaan termillä push).

Gitin toimintaperiaatetta ja käyttöä käsiteltiin edellisessä osiossa. Palaa siihen aina tarpeen mukaan.

GitHub on kaikkien saatavilla oleva verkkosivusto, johon Git-projektien ohjelmakoodit (repositorio) voidaan tallentaa ja jakaa. Se on myös maailman suurin tähän tarkoitukseen kehitetty sivusto, ja käytännössä jokainen ohjelmointialan ammattilainen käyttää tavalla tai toisella GitHubia.

Jotta voit käyttää GitHubia, rekisteröidy sen käyttäjäksi osoitteessa https://github.com/.

Kun olet luonut itsellesi käyttäjätilin GitHubiin, voit luoda sinne repositorioita eli tallennuspaikkoja projekteille.

On kaksi tapaa yhdistää VS Code ja GitHub. VS Code tarjoaa valmiin “publish to GitHub” -toiminnon, joka yhdistää projektin GitHub-tiliin, luo uuden repositorion sekä lokaalisti että GitHubissa, ja puskee projektin nykyisen tilan GitHubiin. Tämän voi myös halutessaan tehdä “manuaalisesti” luomalla ensin GitHubiin repositorion, luomalla lokaalin repositorion, ja yhdistämällä nämä toisiinsa. Alta löytyy ohjeet molempiin versioihin.

Gitin lataaminen

Ennen kuin voit käyttää Git-versionhallintaa, sinun on asennettava Git-ohjelmisto omalle tietokoneellesi. Lataa ja asenna se osoitteesta https://git-scm.com/downloads ohjeiden mukaisesti.

Git ja Visual Studio Code

Gitin asennuksen jälkeen voit ottaa sen käyttöön Python-projektissasi:

  1. Avaa VS Code ja avaa projekti, jonka haluat liittää Git-versionhallintaan.
  2. Avaa terminaali (Terminal) VS Code -editorissa.
  3. Määritä käyttäjänimesi komennolla git config --global user.name "Etunimi Sukunimi".
  4. Määritä sähköpostiosoitteesi komennolla git config --global user.email "sahkoposti@esimerkki.com". Sähköpostiosoite on sama, jota käytit rekisteröityessäsi GitHubiin.
  5. Luo .gitignore-tiedosto projektin juureen. Lisää tiedostoon rivi .venv/, jotta virtuaaliympäristön tiedostot eivät päädy versionhallintaan.
  6. Alusta Git-versionhallinta projektille ja liitä se GitHub-repositorioon valitsemalla vasemman laidan palkista löytyvä Git-kuvake (tai paina näppäinyhdistelmää Ctrl+Shift+G), ja paina sitten Publish to GitHub -painiketta.

Git alustus

Vaihtoehtoisesti voit tehdä Git-repositorion alustamisen myös “käsin” terminaalissa

Luo repositorio GitHubiin

  1. Kirjauduttuasi sisään GitHubiin paina Repositories-otsikon vieressä olevaa New-painiketta.
  2. Tee itsellesi oma repositorio alla olevan kuvan mukaisesti ja anna sen nimeksi esimerkiksi python-harjoitukset.
  3. Paina lopuksi Create repository -painiketta.

Uuden repositorion luonti

Tämän jälkeen VS Code -kehittimessä oleva projekti pitää liittää GitHub-projektiin.

Luo lokaali repositorio

  1. Alusta uusi Git-repositorio komennolla git init.
  2. Lisää tiedostot versionhallintaan komennolla git add ..
  3. Tee ensimmäinen commit komennolla git commit -m "Initial commit".

Yhdistä repositoriot toisiinsa

Tämän jälkeen paikallinen Git-repositorio on valmis, ja voit liittää sen GitHubissa luomaasi repositorioon. Tähän on muutamia eri vaihtoehtoja.

Kirjaudu ensin VS Code -editorissa sisään GitHubiin valitsemalla Sign in to GitHub. Seuraa ohjeita.

Repositorion käyttö

Tarkastellaan tässä vaiheessa GitHubin käyttöä yhden kehittäjän näkökulmasta. Tällöin voimme olettaa, että eri kehittäjät eivät käytä samoja tiedostoja, ja tästä aiheutuvia samanaikaisen muokkauksen ongelmia ei esiinny. Oletamme myös, että meille ei synny tarvetta jakaa kehitysprojektia eri kehityshaaroihin. GitHubin edistyneeseen käyttöön kehitystiimin yhteistyöalustana kannattaa perehtyä vasta myöhemmin projektityön alkaessa.

VS Code -editorissa on sisäänrakennettu Git-tuki, jota kannattaa käyttää versionhallinnan perustoimintoihin. Ne löytyvät editorin vasemman laidan palkista Git-kuvakkeen takaa (tai painamalla näppäinyhdistelmää Ctrl+Shift+G).

Git toiminnot

Työskentelyssä kannattaa ottaa tavaksi seuraavat käytännöt:

Voit tutkia kehityshaaraa tallennuspisteineen GitHub-palvelussa.

Kaikki lähdekoodit, kuvat ja muut arvokkaat tiedostot on syytä tallentaa GitHubiin. Toisaalta konfiguraatiotiedostot ja muu ajoympäristöön liittyvä silppu kannattaa jättää versionhallinnan ulkopuolelle. Myöskään salasanoja sisältäviä tiedostoja ei tietoturvasyistä tule tallentaa versionhallintaan. Pois jätettävät tiedostot listataan projektiin tallennettavassa .gitignore-tiedostossa.

Tehtävien palautus GitHubin avulla

Palauta Omassa oleviin tehtäviin aina suoraan kyseisen moduulin tehtävien ratkaisuun osoittava linkki. Se onnistuu helpoiten niin, että navigoit selaimella GitHubissa oikeaan kansioon ja kopioit linkin suoraan selaimen osoiteriviltä. Nimeä Python-tiedostosi ja kansiosi niin, että niistä voi päätellä suoraan, minkä tehtävien ratkaisut ne sisältävät.

Linkin kopioiminen

Jos repositoriosi on yksityinen: Jotta opettajat näkevät tiedostosi GitHubissa, sinun pitää lisätä opettajien käyttäjätunnukset GitHub-projektiisi käyttäjiksi. Tämä tapahtuu Settings-välilehdeltä kohdasta Collaborators. Opettajien tunnukset kerrotaan Oma-työtilan kautta. Vaihtoehtoisesti voit muuttaa projektisi näkyvyyden julkiseksi (public) projektin asetuksista.

Käyttäjien lisääminen


Seuraavassa moduulissa aloitetaan varsinainen ohjelmointi.