Dokumentasjon av Git. Vedlegg F

Like dokumenter
UKEOPPGAVER 13: KONFIGURASJONSSTYRING

Introduksjon til versjonskontroll av Ola Lie

Konfigurasjonsstyring

Versjonskontrol med Subversion. og TortoiseSVN

HTML: Publiser nettsiden din. Publiser nettsiden din på Internett. Github. Brukernavn.github.io

Kjøre Wordpress på OSX

Våre tekniske konsulenter kan bistå slik at din bedrift får en best mulig tilpasset Handyman installasjon ut fra deres infrastruktur.

W i n T i. Oppgradering til versjon HRM

Software installasjon og andre ettertanker

Forord. Brukerveiledning

Velkomment til å installere BAS21

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Brukerveiledning for programmet HHR Animalia

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Innhold. Kom i gang med IRiR. 1 Installer R & RStudio. 2 Last ned siste versjon av IRiR-skriptet

Produksjonssettingsrapport

Min digitale infrastruktur

Nedlasting og brenning av egne ISO-cd-er

6107 Operativsystemer og nettverk

Innstallasjon og oppsett av Wordpress

Febdok Server må være installert på den datamaskinen du sitter på. Last ned siste versjon fra Febdok sin hjemmeside eller gjennom programmet.

Brukerveiledning For Synkronisering Av HotSoft Med PCKasse

netlin Manuell installasjon Fra versjon

Kurset består av to relativt uavhengige deler. Foreleser: Hårek Haugerud, rom PS431

Installasjon av Cantor Controller MSSQL. Installasjon av Enbruker. Veiledningen har tre kapittel

FRC-Feeder-E. Et sikkert og raskt verktøy for overføring av data til File Record Converter Versjon 1.9

Konfigurasjon av inrx og Megalink

Norsk Data Senter AS Oppgradering av Intentor Helpdesk

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

PRESENTASJON NORDIG OKTOBER Alle skal kunne teste alt - overalt

Produksjonssettingsrapport

Huldt & Lillevik Lønn 5.0

HEMIT EKSTRANETT HVORDAN GJØR JEG DET? 03 Laste opp dokumenter

Felleskatalogens Nedlastbare CD-rom/web. Installasjonsveiledning Server (Flerbruker) for Windows

Installasjonsveiledning. DDS-CAD ByggMester

WinTid Scheduler. Oppgradering til versjon HRM

VEILEDER MOTTA FJERNHJELP

Du vil dersom du klikker på «Lagre Som» tekst ikonet få opp denne menyen på venstre hjørnet. Du må da velge hvor du vil lagre dokumentet, denne

DOKUMENTASJON E-post oppsett

Installasjonsveiledning

"How I hate this damned machine, I wish that I could sell it, It never does what I want it to, But only what I tell it".

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Generelt om operativsystemer

Dokumentasjon av Installasjon

Din verktøykasse for anbud og prosjekt

Administrasjon av FLT-Sunnhordland Web-side

Installasjon av Skatt

Skriv ordbøker og litteratur på Tegnspråk med en nett-tjener i lommeformat! For ivrige Tegnskrift (SignWriting )- brukere!

FRC-Feeder-E. Et sikkert og raskt verktøy for overføring av data til File Record Converter Versjon 1.11

Kap 3: Anvendelser av Internett

Manual for AL500AC og AL100AC

KUNNSKAP.NO (versjon 7)

Manual FOR ONEDRIVE. Trysil Videregående HEDMARK FYLKESKOMMUNE OFFICE 365

Velkommen som ny bruker av Uni Økonomi!

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Automatisering av datasenteret

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

SPSS Høgskolen i Innlandet

Installasjonsveiledning Visma Avendo Lønn, versjon 7.60 Oktober 2011

Hvordan gjøre fjernhjelp til noen som ønsker hjelp med Hageselskapets portal? Av Ole Petter Vik, Asker Versjon

Lablink 2.x brukerveiledning

Installasjonsveiledning for Ordnett Pluss

Huldt & Lillevik Lønn 5.0

Maestro Klientadministrasjon

Installasjonsveiledning Visma Avendo, versjon 5.2

Vedlikehold av PC Av Hans Henrik Støvne

DDS-CAD. Oppsett av student-/demolisens

Veiledning for oppdatering av Extensor 05 - versjon 1.16.

BRUKERMANUAL. Telsys Online Backup

Definisjon av prosess

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Import av klientfiler er kun mulig fra Akelius Årsavslutning, Akelius Skatt og Akelius Revisjon.

Kravspesifikasjon. Vedlegg A

Harmonisert KS - ASAK Miljøstein AS

Norsk Data Senter AS Installasjon av Intentor Helpdesk

Byggeweb Prosjekt Brukerveiledning Arbeidsområdet

Håndtering av filer og kataloger

1. Intro om SharePoint 2013

Lab 1: Installasjon av Virtualiseringsløsning (VMWare Server ESXi 6.5) med en Virtuell Linux maskin (Cent OS 7 64-bit)

Dagens tema: Generelt om variable. Kodegenerering. Deklarasjon av array er. Versjonskontroll. Oppslag i array er

Software Development Plan

Huldt & Lillevik Lønn 5.0 Oppsett av OPG-integrasjon med Visma.net.

Tema: Fronterdokument

Ny på nett. Operativsystemer

Avinstallere Java: Windows 7 og eldre versjoner

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Aditro HRM AS

Enbruker-installasjon

Installasjonsveiledning for Ordnett Pluss

)DVW3ODQ,QVWDOOHULQJ $%% $6 'LYLVMRQ $XWRPDVMRQVSURGXNWHU ΑΒΒ 3RVWERNV 6NLHQ

Hurtigstartveiledning

Innledende Analyse Del 1.2

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

BRUKERHÅNDBOK FOR NETTVERKET

Tekniske Krav Aditro Lønn

Installasjonsveiledning

Filer i Linux og Bourne-again shell

Manual for Eagle 100 og Lynx 500

Huldt & Lillevik Lønn 5.0. Oppdatere til ny versjon

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Personec AS. Veiledningen er oppdatert pr

4. Installasjonsveiledning. Experior - rich test editor for FitNesse -

Transkript:

Vedlegg F Dokumentasjon av Git Vedlegg for dokumentasjon av Git, versjonskontrollsystemet brukt i utviklingen av PySniff. Hvorfor Git er brukt, hvilken modell som er valgt og hvordan vi har kommet frem til denne.

Innholdsfortegnelse 1. INTRODUKSJON 3 1.1 HENSIKT 3 1.2 HVA ER GIT OG VERSJONSKONTROLL 3 1.3 GIT REPOSITORY 4 1.3.1 GITHUB 4 2. DATAFLYTMODELL 5 3. STABILITET OG PÅLITELIGHET 6 3.1 DATAORDBOK 7 3.2 REFERANSER 7 Filnavn: Dokumentasjon av Git.docx Side: 2 av 7

1. INTRODUKSJON Dette dokumentet gir en oversikt over bruken av versjonskontrollsystemet Git i utviklingen av PySniff og alle dets undersystemer. Det vil bli forklart hvorfor det er ønskelig med et versjonskontrollsystem i programutvikling, spesielt utvikling i grupper, og hvorfor akkurat Git er blitt valgt. 1.1 Hensikt Ved hjelp av dette dokumentet skal det være mulig å forstå Gits posisjon som versjonskontrollsystem under utviklingen av PySniff. Følgelig vil det bli begrunnet med hvorfor, og hvordan verktøyet er blitt brukt. 1.2 Hva er Git og versjonskontroll Et versjonskontrollsystem er programvare som holder oversikt over endringer eller versjoner av datafiler. Endringer lagres i en database, vanligvis med full historikk med mulighet for kommentering underveis. I tillegg til identifisering av forskjellige versjoner kan det være mulig med forskjellige «utviklingsgrener», som gjør utvikling i grupper enklere ved at man ikke «kræsjer» i andres arbeid, men samtidig kan samarbeide på grener. Git er et distribuert versjonskontrollsystem. Ved distribuert menes det at hver eneste bruker har en lokal kopi av kodebasen på det felles repositoryet, hvor koden i effekt sendes mellom forskjellige brukere. Dette er til forskjell fra tradisjonell klient-server tilnærming av versjonskontroll, hvor man typisk er avhengig av tilgang til en felles sentral. For å kunne kommunisere med et Git repository trengs en Git klient. Klienten består enten av kommandolinje eller et brukergrensesnitt. Denne brukes til å utføre kommandoer for å sjekke endringer i filer, legge de til i et repository, synkronisere med felles repository m.mer. Git-klienten installeres lokalt på en maskin, men ved bruk av Github eller lignende tjenester er det også mulig å kommunisere med et repository gjennom nettleser. Figur 1: Versjonskontroll Filnavn: Dokumentasjon av Git.docx Side: 3 av 7

1.3 Git repository Hoveddelen av et Git-system er et repository. Git er som nevnt et distribuert versjonskontrollsystem, hvilket betyr at det er flere repositories brukt for å holde kontroll på kodebasen som stadig synkroniseres med hverandre. Bruk av et Git repository består av både en sentral og en lokal klone, hvor brukere av forskjellige repositories synkroniserer disse mot hverandre. 1.3.1 Github Github er en tilbyder av en komplett løsning for Git repositories og nyttige verktøy rundt dette. Dette inkluderer, men er ikke begrenset til, hosting av repositories enten offentlig eller privat, statistikk, brukerhåndtering og et webgrensesnitt med tilgang til kodebaser i repositores. Det er valgt å bruke Github som tilbyder av privat repository grunnet deres effektive webgrensesnitt og alle de nyttige verktøyene rundt, som f. eks statistikk og mulighet til å se filer og deres endringer direkte i nettleser uten å måtte trenge en lokal Git klient. Gruppen har fått tilgang til et privat repository gjennom en studentordning til Github hvor man får gratis tilgang til private repositories. Dette vil si at selv om kodebasen ligger på en ekstern server (i tillegg til de lokale kopiene), er de ikke offentlig tilgjengelig. Repositoriet er tilgjengelig for nedlastning ved hjelp av HTTP, Zip eller bruk av Git-protokollen. Synkronisering er alltid tilgjengelig så lenge de nødvendige portene er åpne på den lokale tilkoblingen brukt. Akkurat dette kan vise seg å være et problem, som forklart i neste punkt. Filnavn: Dokumentasjon av Git.docx Side: 4 av 7

2. DATAFLYTMODELL Figur 2: Git branching model Dette prosjektet broker en modifisert versjon av dataflytdiagram vist ovenfor, men ideen er den samme. Master branch som inneholder godkjent kode Filnavn: Dokumentasjon av Git.docx Side: 5 av 7

Figur 3 - Git dataflyt [4] 3. STABILITET OG PÅLITELIGHET Siden Git er et distribuert versjonskontrollsystem har alle klonene/brukerne av et repository en lokal klone av repositoriet. Dette gjør at om f. eks man ikke har tilgang til internett, Github som hoster det felles repoet er nede eller at noen opplever datatap så har man fortsatt tilgang på kopier av koden og mulighet til å sende inn commits. Alternativet er gjerne at man har et sentralt repository og at man kun har sine endringer lokalt og/eller ikke har mulighet til å lagre dine endringer/commits uten tilgang til det sentrale repositoriet. Et eksempel på dette er SVN. Dette betyr at om man f. eks ikke har tilgang til internett kan man heller ikke arbeide med koden. Filnavn: Dokumentasjon av Git.docx Side: 6 av 7

3.1 Dataordbok Forkortelse Forklaring Versjonskontrollsystem Programvare som holder ordentlig på forskjellige versjoner av en eller flere datafiler med full historikk. Repository Et sett med filer og mapper brukt av et versjonskontrollsystem, med historikk over endringer og pekere på grener. Commit Et sett av endringer på filer og/eller mapper lagret til et repository. Vanligvis med en kommentar som beskriver endringen. Har en ID. SSH En sikker nettverksprotokoll for kommunikasjon mellom klient og tjener, typisk i form av et shell (kommandolinje) eller andre nettverkstjenester. Hosting Å hoste noe. Leie/selge lagringsplass og/eller nettkapasitet hos en serverleverandør, til f. eks å ha lagret et Git repository tilgjengelig via internett. Pakkebehandler En samling verktøy for å installere/oppdatere/konfigurere programvare på en datamaskin. Hovedsaklig brukt til å installere pakker (programmer) via pakkebrønner tilbudt av forskjellige Linux distribusjoner. Terminal Terminal, eller terminalemulator, er et program for å kommunisere operativsystemet eller programvare gjennom et shell/kommandolinje i form av tekst. 3.2 Referanser Id Referanse Beskrivelse 1 [MAL] SoftwareArchitectureDocument (SAD) fra bussruta.sparebank1.no. Versjon 1.0 2 A successful Git http://nvie.com/posts/a-successful-git-branching-model/ branching model 3 Revision controlled project visualization http://en.wikipedia.org/wiki/file:revision_controlled_project_visualization- 2010-24-02.svg 4 Git Tutorial Getting Started http://www.javacodegeeks.com/2012/03/git-tutorial-getting-started.html Filnavn: Dokumentasjon av Git.docx Side: 7 av 7