Tuossa kieltämättä pointtia. Miten tuo toimii käytännössä? Jos olen tallentanut ohjelman repositoryyn, niin downloadataanko se sieltä jotenkin editoitavaksi vai tallennetaanko vain samalla nimellä? ja Github pitää lukua muutoksista.
Kehittäjällä on paikallinen, omalle koneelle kloonattu versio koko repositoriosta, tai ainakin sen valituista haaroista. Muutokset tehdään normaaleilla työkaluilla repositorion hakemistossa sijaitseviin tavallisiin tiedostoihin ja kommitoidaan git add ja git commit -komennoilla paikalliseen repositorioon. Kun kehittäjä on tyytyväinen muutoksiin, joukon kommitoituja muutoksia voi lähettää git push -komennolla GitHubissa sijaitsevaan lähderepositorioon (origin).
Tämä malli mahdollistaa rinnakkaisen kehitystyön, jossa eri kehittäjien muutokset mergetään ja konfliktit selvitetään viimeistään siinä vaiheessa, kun muutoksia yritetään lähettää takaisin projektin päärepositorioon. GitHub tarjoaa myös perus-Gitin päälle rakennettuja apuvälineitä kuten pull requestit, mutta niitä ei yleensä tarvita yhden kehittäjän projekteissa.
Huomasin, että Githubissa on joku komentotulkilla toimiva käyttöliittymä, mutta itseäni kiinnostaa vain graafinen, nettisivun kautta toimiva liittymä.
Gitiä käytetään usein komentorivin kautta, mutta voi sitä käyttää myös valitsemasi ohjelmointiympäristön tai tekstieditorin graafisen käyttöliittymän kautta. GitHubin nettikäyttöliittymä ei pelkästään riitä, koska se ei kata lokaalia kehitystyötä. Windowsiin ja macOS:ään on tosin saatavilla GitHubin työpöytäsovellus, joka vastaa joihinkin kehitysympäristöihin rakennettuja Git-käyttöliittymiä.
Graafisten käyttöliittymien ongelmana on mielestäni se, että niitä käyttäessä tulee opeteltua se tietty graafinen ympäristö, jonka toimintalogiikka ei välttämättä siirry suoraan muihin kehitysympäristöihin. Lisäksi joidenkin ongelmien selvittely voi olla hyvin hankalaa tai mahdotonta ilman komentori-gitiä. Minäkin suosittelisin siis aloittamaan komentorivin kautta, jotta versionhallinnan ja gitin perusteet tulisivat tutuiksi.
Alkuun pääsee tosiaan parhaiten jonkun kevyen oppaan avulla. Peten linkkaama Turun yliopiston opas on pätevä. Tässä toinen tiivis ohje, jossa on huomioitu myös GitHub:
https://www.cs.helsinki.fi/u/mikahutt/oh/Git-ohje.pdf