Gitin käyttö editorissa
Gitin käyttö editorissa
Johdanto
Mikä Git on?
Git (äännetään "git") on koodin versionhallintajärjestelmä, jota käytetään yleisesti ohjelmistoprojekteissa. Sen avulla voi muun muassa:
- pitää koodista historiaa, jossa voi palata taaksepäin;
- synkronoida useita laitteita ja työskennellä tiimissä samojen tiedostojen parissa konflikteja rajoittaen;
- ylläpitää samasta koodista useita versioita, jotta voi kehittää ja kokeilla rikkomatta toimivaa versiota;
- varmuuskopioida projekti helposti.
Gitin versioimaa kansiota kutsutaan tietovarastoksi (englanniksi _repository_ tai _repo_).
Mikä on forge?
Git on ohjelma, jota voi käyttää paikallisesti (omalla koneella tai Leek Warsin editorissa), mutta se voi myös olla yhteydessä ohjelmistoforgeen. Forge on palvelin, joka isännöi Git-tietovarastoja.
Leek Wars tukee useita forgeja; yksinkertaisinta on valita jokin näistä:
- GitHub, Microsoftin (USA) suljettu palvelu. Isännöi myös Leek Warsin koodia.
- GitLab.com, GitLabin (USA) virallinen instanssi; GitLab on vapaa, itse isännöitävissä oleva ohjelmisto.
- Bitbucket, Atlassianin (USA) suljettu palvelu.
- Codeberg, Forgejon virallinen instanssi; Forgejo on yhteisövetoinen, vapaa ja itse isännöitävissä oleva ohjelmisto, jota isännöi saksalainen voittoa tavoittelematon organisaatio.
On myös mahdollista käyttää muita GitLabiin, Bitbucketiin, Forgejoon, Giteaan tai Gogsiin perustuvia forgeja, esimerkiksi framagit.org tai gitea.com.
Gitin käyttö olemassa olevalle tekoälylle
Ensinnäkin tekoälyn on oltava kansiossa eikä juuressa. Luo kansio, napsauta kansiota hiiren oikealla painikkeella ja valitse "Alusta Git-tietovarasto". Se sisältää kaikki Gitiin liitettävät tiedostot.
Tiedostoluettelon yläosaan (vasen valikko) ilmestyy Git-välilehti, jonka kuvakkeena on haarautuva oksa. Siirry sinne.
Commitien tekeminen
(commit = "vahvistus" tai "tallennus historiaan")
Tarkista Git-välilehden yläosan pudotusvalikosta, että haluttu tietovarasto on valittuna (jos sinulla on useita).
Kun tietovaraston tiedostoja muokataan, muutokset näkyvät Git-välilehdellä. Ne ovat toistaiseksi stagen ulkopuolella (indeksoimattomia): kuin luonnos, jota ei ole vielä hakattu historian kiveen.
Kun haluat tallentaa muutokset historiaan, napsauta ➕-painiketta lisätäksesi ne stageen. Tiivistä muutokset muutamalla sanalla kenttään "Commit-viesti" ja vahvista.
Huomautus: jotta kaikki Git-välilehden painikkeet näkyisivät kunnolla, välilehteä voi joutua leventämään oikealle vetämällä sen oikeasta reunasta!
Historia on luettelo commiteista, joista kukin on joukko muutoksia päivämäärän ja viestin kera. Ideana on, että voi selvittää, milloin tietty muutos tehtiin, palata taaksepäin ja ryhmitellä muutoksia, jottei koodi jäisi puolitoimivaan tilaan...
Forgeen yhdistäminen
Asetukset forgessa
Luo itsellesi tili Git-forgeen ja luo sinne tyhjä tietovarasto. Etsi tietovarastosi osoite, jonka pitäisi näyttää tältä: https://exemple.net/mon-pseudo/mon-depot.git. Se on tietovarastosi pääsivun osoite, jonka perässä on lisäksi .git.
Sen jälkeen Leek Warsille on annettava lupa käyttää tietovarastoa. Menettely riippuu forgesta.
- GitHub: yksinkertaisinta on asentaa Leek Warsin GitHub App suoraan editorista (katso alla). Vaihtoehtoisesti voit luoda tunnisteen (token): napsauta profiiliasi, Settings, Developer Settings (aivan alhaalla). Valitse avautuvalla sivulla Personal access tokens, Tokens (classic). Valitse voimassaoloaika (esimerkiksi 90 päivää) ja anna vain tietovarastoon osallistumiseen tarvittavat oikeudet.
- Forgejo: tilin asetukset, Sovellukset, Uusi käyttöoikeustunniste. Salli luku- ja kirjoitusoikeus kohteeseen "repository".
Jos loit tunnisteen (_token_), säilytä se hyvin, ettet hukkaa sitä!
Asetukset Leek Warsissa
Napsauta Git-välilehden alaosassa pilvipainiketta "Remote-asetukset".
Tässä määritellään etätietovarasto (remote): anna nimi (esimerkiksi origin), liitä tietovaraston URL ja napsauta "Add"-painiketta. Tämä vaihe on välttämätön ennen kuin mitään voi pushata.
Valitse todennusta varten forgesi: GitHub, GitLab, Bitbucket tai Forgejo.
- GitHub: ensisijainen tapa on painike "Install the GitHub App". Valitse asennuksen yhteydessä tietovarastot, joihin annat pääsyn; palattuasi Leek Warsiin voit valita remoteksi suoraan jonkin näistä tietovarastoista. Vaihtoehtoisesti liitä Personal Access Token kenttään "Access token".
- GitLab ja Bitbucket: liitä tunniste kenttään "Access token". Jos käytät itse isännöityä instanssia gitlab.comin tai bitbucket.orgin sijaan, rastita "Self-hosted instance" ja anna forgen osoite (tämä valintaruutu on olemassa myös GitHubille).
- Forgejo: tälle forgelle ei ole "Self-hosted instance" -valintaruutua, vaan instanssin osoitekenttä näytetään aina (esitäytettynä arvolla codeberg.org). Anna tarvittaessa oman instanssisi osoite ja liitä tunniste kenttään "Access token".
Commitien lähettäminen palvelimelle
Toistaiseksi commit-historia on tallennettu vain Leek Warsiin. Sen lähettämiseksi forgeen tehdään push Git-välilehden alimmalla ⬆-painikkeella.
Aina kun haluat lähettää uusia commiteja, tee push.
Muut toiminnot
Editori ja Git-välilehti tarjoavat myös:
- Tietovaraston kloonaus: valikko Tiedosto → "Kloonaa git-repositorio", antamalla tietovaraston URL ja kohdekansio.
- Pull: "Pull"-painike hakee remoten commitit, valittavissa joko merge- tai rebase-strategia ("Pull-strategia").
- Branchit: branch-valitsimella voi vaihtaa branchia, luoda uusia ("Uusi branch...") ja nähdä remote-branchit.
- Historia ja diff: "Historia"-painike luettelee commitit, ja muokattua tiedostoa napsauttamalla näkee sen erot.
- Konfliktien ratkaisu: jos mergen tai rebasen aikana syntyy konflikteja, editori mahdollistaa niiden ratkaisemisen ja jatkamisen.
- Viimeisimmän commitin kumoaminen: kumotun commitin muutokset jäävät indeksiin.
- Tietovaraston tiivistäminen: pienentää tietovaraston viemää tilaa (hyödyllinen kiintiön kannalta).
- Sisäänrakennettu Git-terminaali: näyttää editorin suorittamien Git-komentojen lokin.