Hajautettu versionhallinta Gitillä

Samankaltaiset tiedostot
Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

Versionhallinta MIKSI?

Versionhallinta MIKSI?

Versiohallinta ja Subversion Maunu Tuomainen

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Versionhallinta. Matti Paksula ja Esko Luontola Syksy Tietojenkäsittelytieteen laitos Kuje Research Group

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä

Käyttöohje alayksikkökoodiston tarkastamiseen ja täydentämiseen

Työkalut ohjelmistokehityksen tukena

TIE Ohjelmistojen suunnittelu

Convergence of messaging

JOT2013 Demo1-ohje. Ville Isomöttönen, Jonne Itkonen 10. syyskuuta Varmista, että tunnukseesi on aktivoitu Unix-etäkäyttökoneet

EUSA-järjestelmän uudet ominaisuudet. Elina Sillanpää 7.11./

Ohjelmistoprojektien johtaminen Projektissa käytettävät työkalut

Googlen pilvipalvelut tutuksi / Google Drive

Pika-aloitusopas. Haku Voit etsiä sivustoja, henkilöitä tai tiedostoja. Sivuston tai uutisviestin luominen

Googlen pilvipalvelut tutuksi / Google Drive

Ryhmäharjoitus I: Google Drive. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 13.3.

Mikä on Twitter? Rekisteröityminen

OHJEET WORDPRESS-BLOGIN LUOMISEEN JA TAVALLISIMPIIN BLOGITOIMINTOIHIN

Tiedostonhallinta. Yleistä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

CABAS. Release Notes 5.4. Uusi kuvien ja dokumenttien käsittely

Webropol-kyselyt. Tarja Heikkilä

Kemikaalitieto yhdestä palvelusta. Kemikaali-ilmoituksen tekeminen CSV lomakkeen avulla

2017/11/21 17:28 1/2 Tilitapahtumat. Tilitapahtumat... 1 Käyttö:... 1 Asiakirjan kentät:... 1

Suoritusten kirjaaminen WinOodissa: Opintoneuvojan ohje

PIKAOHJE USEIDEN VASTAANOTTAJIEN LISÄÄMISEEN YHTIÖN JAKELULISTOILLE

1 www-sivujen teko opetuksessa

OHJELMOINTIYMPÄRISTÖ Virtuaaliyhteisöjen muodostamien

Seutudokumenttien pä ivittä misohje

Lukkarikoneen käyttöohje

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Projektityö

REVELAGESPORTS.COM PORTAALIN KÄYTTÖOHJE

SAKU-materiaalit

NAVIGAATTORIN ASENNUS JA MUOKKAUS

Tietokantojen hallinta

Webforum. Version 14.3 uudet ominaisuudet. Viimeisin päivitys:

Toni Vaakanainen PALVELIMIEN VALMISTELUT ITSENÄISEEN WEB-KEHITYKSEEN

Asiakashallinta. TaikaTapahtumat -käyttöohje

Yhteistyökumppanit kirjautuvat erikseen annetuilla tunnuksilla osoitteeseen

Lupapiste käyttöönottokoulutus. Palvelun esittely

Asteri Vuokrankanto (Dos) Vuosipäivitys

Ohjeet Google kalenteriin. Kirjaudu palveluun saamillasi tunnuksilla

Työelämävalmiudet: Oivallus-hankeken seminaari

Site Data Manager Käyttöohje

UpdateIT 2010: Uutisten päivitys

MINI-LEXIA OPAS Versio 4.31

Network Video Recorder. Pika-asennusohje

Käyttöohje. MAITO metadatan hallintatyökalu. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Luento 3. Timo Savola. 7. huhtikuuta 2006

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Kuvien lisääminen ja käsittely

Project group Tete Work-time Attendance Software

Sisällys. Beo4-kaukosäätimen käyttö, 3. Beo4:n näppäimet yksityiskohtaisesti, 4 Beo4:n näppäimien perus- ja lisätoiminnot

Versionhallintasuunnitelma

Lähettäjä ja vastaanottaja

TW-EAV510AC-LTE OpenVPN ohjeistus

Gitlab-järjestelmän versionhallintatyökalut tietojenkäsittelyn opetuksessa

3 PAIKKATIETOHARJOITUSTA

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Tikon Ostolaskujenkäsittely versio SP1

2 Eläinlistan kautta voidaan tallentaa tietoja kuolleille eläimille

KESKITETYSTÄ VERSIOHALLINNASTA HAJAUTETTUUN VERSIOHALLINTAAN

Monikielinen verkkokauppa

TortoiseMerge Diff/merge -työkalu Windows-ympäristöön Version 1.8 Stefan Küng Lübbe Onken Simon Large

Outlook Web App ver 1.2

Koulutuksen arviointijärjestelmä

Lähettäjä ja vastaanottaja

Pysäköinnin voit ostaa ennakkoon osoitteesta:

Excel 2016 Power Pivot

SSH Secure Shell & SSH File Transfer

MATEMATIIKKA. Matematiikkaa pintakäsittelijöille. Ongelmanratkaisu. Isto Jokinen 2017

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Cabas liitännän käyttö AutoFutur ohjelmassa

URL-osoitteiden suunnittelu

Julkaiseminen verkossa

SharePoint Foundation 2010 perusteet ylläpitäjille

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta.

SALITE.fi -Verkon pääkäyttäjän ohje

pikaohje selainten vianetsintään Sisällysluettelo 17. joulukuuta 2010 Sisällysluettelo Sisällys Internet Explorer 2 Asetukset Internet Explorer 8:ssa

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Ennen kuin aloitat lataamisen tarkista järjestelmävaatimukset:

Yleinen ohjeistus Windows tehtävään

Menetelmäraportti - Konfiguraationhallinta

Sähköpostitilin käyttöönotto

Juuli-julkaisutietoportaali

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Ensimmäisen ja toisen asteen yhtälöt

Onni-oppimispäiväkirjan ohje version 1.2

Ohjelmistoprojektin vaiheet ja OMT++ -suunnittelumenetelmä

ohjeita kirjautumiseen ja käyttöön

PDF-tiedostojen optimointi hakukoneille

WinTraden päivitys- ja asennusohjeistus

Lisenssin hakeminen PTC:n verkkosivun kautta

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

KanTa. ereseptin käyttöönoton valtakunnallinen

Transkriptio:

Ohjelmistotekniikka Henrik Hedberg Tietojenkäsittelytieteiden laitos

Versionhallintajärjestelmä Hallitsee tiedostot ja niiden eri versiot ts. muutokset Mahdollisuus rinnakkaisiin historioihin ts. haaroihin Toimii myös verkon yli mahdollistaen yhteistyön Vaihtoehtoisia protokollia

Keskitetty versionhallintajärjestelmä Projektiin liittyvät muutokset kootaan keskitettyyn versionhallintajärjestelmään Kehittäjien koneilla on tiedostoista tietyn ajan hetken (yleensä uusimmat) versiot

Keskitetty versionhallinta käytännössä checkout commit Työtiedostot haetaan keskitetystä versioidusta varastosta omalle koneelle muokkaamista varten

Perustyöskentely Subversionilla svn checkout svn add / remove svn update svn update svn commit

Hajautettu versionhallintajärjestelmä Saman projektin versiohistoriasta on useita täydellisiä kopioita ('varasto', 'repository') Esimerkiksi jokaisella kehittäjällä on oma täydellinen kopionsa

Hajautettu versionhallintajärjestelmä Saman projektin versiohistoriasta on useita täydellisiä kopioita ('varasto', 'repository') Esimerkiksi jokaisella kehittäjällä on oma täydellinen kopionsa Käytännössä yleensä yksi varasto on virallinen Kehittäjät päivittävät omat varastonsa keskitetystä varastosta Tukee erilaisia työtapoja ja -prosesseja

Hajautettu versionhallinta käytännössä clone checkout merge commit Koko versiohistoria kloonataan omalle koneelle varastoksi, ja näiden eri varastojen välillä tehdään yhdistämisiä

Perustyöskentely Gitillä clone add / rm commit pull commit pull push

Tiedostojen hakeminen clone Ensimmäisen kerran tiedostoja haettaessa otetaan varastosta kopio clone osoite Hakee koko versiohistorian pull Myöhemmin voidaan vain hakea alkuperäisessä varastossa tapahtuneet muutokset omaan varastoon pull Jos omat tekemäsi muutokset ovat ristiriidassa (muokkauksia ei voida automaattisesti päätellen yhdistää), tiedostoihin tulee sisältöä molemmista versioista (tilanne täytyy ratkaista itse tiedostoja muokkamalla)

Työskentely versioiduilla tiedostoilla Voit muokata haettuja tiedostoja normaalisti Mikäli lisäät hakemistoon uusia tiedostoja, jotka on tarkoitus siirtää myös varastoon, ne on kerrottava Gitille add tiedosto Tällä tavoin voi lisätä myös kokonaisia hakemistoja Yleensä generoituja tiedostoja ei säilytetä varastossa Tiedostojen poistaminen varastosta tapahtuu yksinkertaisesti kertomalla Gitille rm tiedosto Tiedosto löytyy luonnollisesti vielä versiohistoriasta add / rm

Muutosten kirjaaminen Toisiinsa liittyvistä muutoksista kootaan yksi vienti varastoon commit Optio a lisää jo versionhallinnassa olevien tiedoston muutokset mukaan commit Git pyytää kirjoittamaan selityksen muutokselle. Historialokiin on hyvä tehdä selkeitä merkintöjä

Muutosten päivittäminen muille Ennen kuin omat muutokset voi siirtää yhteiseen varastoon on päivitettävä muiden tekemät muutokset omaan paikalliseen kopioon pull Voi johtaa konfliktiin, joka on ratkaistava ensin paikallisesti Varsinaisen siirtämisen voi tehdä, mikäli oma kopio on ajan tasalla eikä siinä ole konflikteja push pull push

Konfliktin ratkaiseminen pull näyttää, mikäli paikallisessa kopion tiedostoa oli muutettu ja se pystyttiin yhdistämään automaattisesti (auto-merged) tai jos se johti konfliktiin (CONFLICT) Samaa kohtaa muutettu kahdessa paikassa yhtä aikaa Konfliktitiedostossa on ongelmia aiheuttaneista riveistä kaksi eri versiota (sinun ja toisten): <<<<<<< HEAD:tiedoston_nimi Sinun tekemäsi muutokset ======= Jonkun muun tekemät muutokset >>>>>>> commit_id:tiedoston_nimi Tiedostot on korjattava ja sen jälkeen tehtävä uusi commit

Verkostoituneen työskentelyn aloittaminen Kerro Gitille oma nimesi ja sähköpostiosoitteesi Näitä käytetään globaalisti kaikkien kyseiseltä koneelta tekemiesi committien yhteydessä config global user.name Pekka Rinen config global user.email pekka@gur.ut Kloonatessasi varastoa käytä sen push URL:ia Tätä käytetään osoitteena tehtäessä varastoon yhdistäminen, joten URL:in on toimittava push-komennon kanssa ja sinulla on oltava oikeudet varaston muokkaamiseen Jos sinulla ei ole muutosoikeuksia, push URL ei ole käytössä, mutta voit käyttää julkista URL:ia (push ei mahdollinen)

Muita Git-komentoja mv lähde kohde Tiedoston siirtäminen (älä tee rm/add-yhdistelmällä!) status diff Paikalliseen kopioon tehtyjen muutosten tutkiminen reset hard tiedosto Työtiedostoon tehtyjen muutosten peruminen log tiedosto Tiedoston versiohistorian tutkiminen Ilman tiedostoa koko varaston versiohistorian listaus