Versionhallinta MIKSI?



Samankaltaiset tiedostot
Versionhallinta MIKSI?

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

Versiohallinta ja Subversion Maunu Tuomainen

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

Hajautettu versionhallinta Gitillä

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

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

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

Convergence of messaging

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

Tarva MT (Maantie) pikaohje Harri Peltola & Mikko Virkkunen

Julkaiseminen verkossa

SSH Secure Shell & SSH File Transfer

Kieliteknologian ATK-ympäristö Toinen luento

Tietokantojen hallinta

VERKKOKÄYTTÄJÄN OPAS. Tulostuslokin tallennus verkkoon. Versio 0 FIN

1 www-sivujen teko opetuksessa

Metropolia Ammattikorkeakoulu

OHJELMOINTIYMPÄRISTÖ Virtuaaliyhteisöjen muodostamien

Unix-perusteet. Varmistaminen, tiedon pakkaaminen ja tiivistäminen

ATLAS.ti. Markku Könkkölä Sisällys

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

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

Ohjelmisto on tietokanta pohjainen tiedostojärjestelmä, joka sisältää virtuaalisen hakemisto rakenteen.

KIRJANPITO JA RESKONTRA

Projektityö

Julkaiseminen verkossa, esitysgrafiikkaa (laitteistosta, tietotekniikka ja tulevaisuus) H9T1: Tiedostojen vienti internetiin

ATLAS.ti. Markku Könkkölä Sisällys

ATLAS.ti. Markku Könkkölä Sisällys

OpenOffice toimisto-ohjelma

TIE Ohjelmistojen suunnittelu

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Linux ylläpitäjän opas. Tärkeimmät komennot, logit ja muuta hömppä *^_^* by Hannu Laitinen ETA14KT

Henkilö- ja koulutusrekisterin asennusohje

Asteri Laskutus (Dos)

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

ez Publish ja Toolbar yleisohjeet

Mobility Tool. Demo CIMO

Site Data Manager Käyttöohje

Periaate. Login. Taitto ja artikkelit. Artikkeli ja elementit

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

3.3 Kurssin palauttaminen

Visma L7 Visma Sign. Sähköinen allekirjoittaminen L7:ssä

DYNAAMISEN KÄYTTÖOHJEJÄRJESTELMÄN OHJEISTUKSET


Matemaattinen optimointi I, demo

Pikaohjeita OneNote OPS:in käyttäjille

Ubuntu - peruskäyttö. Seuraavassa läpikäydään Ubuntun peruskäyttöä:

LIIKE Pikakäyttöohje: Säännöllinen kapasiteetti

Site Data Manager Käyttöohje

Luento 3. Timo Savola. 7. huhtikuuta 2006

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy

Pertti Pennanen DOKUMENTTI 1 (17) EDUPOLI ICTPro

Web Services tietokantaohjelmoinnin perusteet

Gps-reittien lataaminen Lipas liikuntapaikat.fi - järjestelmään

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

Asteri Palkanmaksu Dos Vuosipäivitys

Luentaohjelma M-Bus mittareille Versio 1.77 ja uudemmat

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

Luento 4. Timo Savola. 21. huhtikuuta 2006

Hyvästä kuvasta hyvään kollaasiin. Siilinjärvi ja Hannu Räisänen

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

DNA Mokkula E180 - korjaus päivityksen yhteydessä syntyneeseen ongelmaan

CLOUDBACKUP TSM varmistusohjelmiston asennus

TURNITIN-OHJELMAN KÄYTTÖ - OPISKELIJAN OHJE

Ohjelmistoprojektin vaiheet ja OMT++ -suunnittelumenetelmä

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux

TILIOTE TOSITTEENA. Säästää aikaa ja vaivaa. Taloushallinnon kumppani Copyright TIKON Oy

ASENNUS- JA KÄYTTÖOHJE

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

YHTEYDEN OTTAMINEN CSC:N KONEELLE HIPPU

Ksenos Prime Käyttäjän opas

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Tekstieditorin käyttö ja kuvien käsittely

E-lehtien siirtäminen SFX:stä Voyager-tietokantaan

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

Työkalut ohjelmistokehityksen tukena

Älä vielä sulje vanhoja

Tieteellinen laskenta I (Scientific Computing I)

2 Asennuksen poistaminen Uninstall.sh Esiasetukset Sivuston poisto Mush Mush.sh Komennot...

Octave-opas. Mikä on Octave ja miksi? Asennus

EASY Tiedostopalvelin Käyttöopas

4.6 Kurssin palauttaminen

Asteri Vuokrankanto (Dos) Vuosipäivitys

Tarjoustyökalun käyttöohje

TIKON siivoukset. Taloushallinnon kumppani Copyright TIKON Oy

PDF-tiedostojen teon pikaohje

Historia. Posti SmartShip

HAME-maakuntakaavatyökalun ohjeet LUONNOS MMK MK, LL

Tiedostonhallinta. Yleistä

Ohjeet asiakirjan lisäämiseen arkistoon

Tikon Ostolaskujenkäsittely versio SP1

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

Fiscal Digital Signage System

Goalkeeper Game Statistics (v12) käyttöohjeet

Eclipse, SVN ja HelloWorld

BL40A1810 Mikroprosessorit, harjoitus 1

Topfieldin sarjaporttipäivitystyökalun asennus(rs232)

Network Video Recorder. Pika-asennusohje

Transkriptio:

Versionhallinta MIKSI?

Versionhallinta Miten jakaa tiedostot ihmisten kesken? Miten pitää tiedostot ajan tasalla? Miten hoitaa päällekkäiset muutokset samaan tiedostoon? Miten muistaa, mitä on tehty? Miten peruuttaa takaisin kännissä tehdyt muutokset? Jne. jne. jne.

Subversion Tiedostojen versionhallintaan (kuten RCS) Tarkoitettu usean hengen projekteihin Toimii verkon yli yhteiseen tietovarastoon Hyötyjä Historian säilyttäminen (peruutusmahdollisuus) Toimii samalla varmuuskopiona Tiedostojen jakaminen ja synkronointi Unix/Linux: svn:n saa valmiina pakettina Windows: http://tortoisesvn.tigris.org/ Mac OS X: http://subversion.tigris.org/

Subversion Eroja RCS:ään Toimii paremmin usean ihmisen projekteissa Hallitsee koko projektia, ei vain yksittäisiä tiedostoja Toimii myös binaaritiedostoille (pdf, doc, odt, gif, jpg...) Toimii myös hakemistoille, ei vain tiedostoille Toiminta verkon yli (ssh, https,...) Koko projektilla yhteinen versionumero (RCS:ssä joka tiedostolla oma)

Termejä Tietovarasto (repository) taltioi kaiken tiedon (verkon yli) Työkopio (working copy) on käyttäjän "työhakemisto" (kopiot tiedostoista) Revisio (revision) on numeroitu "valokuva" projektista tietyllä hetkellä

Svn:n toiminta commit kurssisvn.cs.tut.fi Tietovarasto ryhmal commit omakone1 update update omakone2 Työkopio (hakemisto) Työkopio (hakemisto)

Svn:n peruskomentoja Työkopion haku (svn checkout) Tiedostojen lisäys (svn add) Tilanteen kysely (svn status) Muutosten kysely (svn diff) Muutosten talletus (svn commit) Työkopion päivitys (svn update)

Svn:n lisäkomentoja Tiedoston poisto (svn rm/del) Hakemiston lisäys (svn mkdir) Tiedoston+historia siirto (svn mv/move/rename) Tiedoston+historia kopiointi (svn cp/copy) Muutosten yhdistely (svn merge) Konfliktien korjaus (svn resolved)

Hakemistorakenne trunk/ "Työhaara", jossa varsinainen koodaus tehdään Yleensä riittää hakea checkout:lla vain tämä tags/ "Julkaisuja" varten, tällä kurssilla palautukset Ohjeet tulevat myöhemmin branches/ "Haaroja" varten, esim. väliaikaiset kokeilut arvostelu/ Boss:n ja assareiden arvostelut palautuksista (Ei osa svn:n normaalia hakemistorakennetta)

Ennen svn:n käyttöä Svn:lle pitää kertoa, että C++tiedostot ja Makefile ovat tekstiä (merkistömuutokset, $Id$ jne.) Unix/Linux editoitava tiedostoa ~/.subversion/config Windows & TortoiseSVN Oikea nappi - TortoiseSVN - Settings General - Subversion configuration file: - Edit

svn checkout Hakee työkopion tietovarastosta Tällä kurssilla: svn checkout https://kurssisvn.cs.tut.fi:<portti>/ryhmat/<ryhmä>/trunk nimi_hakemistolle Täytyy tehdä vain kerran alussa Tietovarastoissa oletuksena valmis perusrakenne esim. julkinen-hakemisto

svn add Lisää tiedoston svn:n hallintaan Tehtävä jokaiselle uudelle tiedostolle, jonka haluaa tallentaa: svn add tiedostonimi Komento vain rekisteröi lisäyksen, ei vielä talleta sitä (commit) Tiedostoa voi muokata rauhassa ennen ja jälkeen

svn commit Tallentaa tietovarastoon tehdyt muutokset Kysyy kommentin lokia varten (Unix/Linux:ssa ympäristömuuttuja EDITOR pitää olla asetettuna) Joko koko hakemistolle tai tiedostoille svn commit -m "Komentin voi laittaa tähänkin" svn commit tiedosto1 tiedosto2 Joka tallennuksesta oma revisio, joilla oma numeronsa (loki, kumoamiset...)

svn status Kertoo, missä tilassa tiedostot ovat A : (Added) tiedosto lisätty D : (Deleted) tiedosto poistettu M : (Modified) tiedostoa muutettu? : (?) tiedosto ei svn:n hallinnassa C : (Conflict) tiedosto konfliktitilassa (ristiriitaisia muutoksia) X : (external) tiedosto haettu muualta (julkinen-hakemisto) Ei tarvitse verkkoyhteyttä

svn update Päivittää työkopion tietovarastosta Siis hakee muiden tekemät muutokset svn update Tulostus kuin svn status Jos muutoksia varastossa + työkopiossa, tulostus: G : (merged) muutokset yhdistetty onnistuneesti C : (Conflict) muutokset ristiriitaisia, pitää korjata käsin

svn diff Kertoo mitä muutoksia tiedostoon on tehty, näyttää muuttuneet rivit svn diff tiedosto svn diff Ei tarvitse verkkoyhteyttä Mahdollista verrata vanhaan revisioon (vaatii verkkoyhteyden) svn diff -rrevisio# tiedosto svn diff -rrev1:rev2 tiedosto

svn revert Muutoksen peruminen, jos talletusta (commit) ei vielä tehty svn revert tiedosto Ei tarvitse verkkoyhteyttä Jos talletus jo tehty, palautus onnistuu vielä svn merge:llä

svn mv, rm, cp Tiedostoja myös mahdollista tuhota (rm), uudelleennimetä/siirtää (mv), kopioida (cp) Näissä operaatioissa tiedoston historia säilyy ja kopioituu mukana Käytä näitä normaalien cp:n, mv:n ja rm:n sijaan!

svn log Näyttää muutoskommentit tiedostosta tai hakemistosta svn log tiedosto Saa tulostamaan myös tiedostonimet: svn log -v tiedosto

Konfliktien korjaus Ristiriitaisia muutoksia svn update:n yhteydessä: konflikti Ristiriitaiset rivit merkitään tiedostoon merkein <<<<<, ===== ja >>>>> Tiedosto editoidaan käsin kuntoon, sitten svn resolved tiedosto (+ svn commit) Tarvitaan yleensä varsin harvoin

Vanhojen muutosten kumoaminen "Upotetaan" tiedostoon vanhat muutokset käänteisjärjestyksessä Väliin voi jäädä muutoksia, joita ei kumota svn merge -ruusi#:vanha# tiedosto Muutokset voi katsoa etukäteen svn diff -ruusi#:vanha# tiedosto svn merge osaa tehdä paljon muutakin

Tagit (htyön palautus) Kopioidaan tietty revisio tags/xxxhakemistoksi Esim. harkkatyön palautukset tags/palautus1, tags/palautus2 Huom: muista ensin svn commit! svn cp https://.../trunk https://.../tags/palautus1

Haarat Kopioidaan hakemisto trunk paikkaan branches/xx, räpelletään, upotetaan muutokset takaisin trunk:iin Ei ihan perustoimenpide, mutta: svn cp https://.../trunk https://.../branches/koe svn co https://.../branches/koe jokuhakemisto... tehdään muutoksia cd trunk-työhakemisto svn merge -reka#:vika# https://.../branches/koe svn commit svn rm https://.../branches/koe