Introduktion till Git

Relevanta dokument
Versionshantering med Git

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

TDP005. Föreläsning 2. Filip Strömbäck

Introduktion till git

Versionshantering med Git. Henrik Henriksson 17 april 2018

Introduktion till Git Anton Ekberg Version 2

1 Vad är Versionshantering? 2 Git. 2.1 GitHub

GitHub for Windows och GitShell

Bryt ut logiken för att göra Bulk-ersättning av Category i Index i ProductControllern.

Börja med git och GitHub - Windows

Övning GIT Andreas Wieden

Övningar Lektion3 Avancerade Webbteknologier 2

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

Fördjupningsarbete/laboration om Git

Server-kod. TDDD80 Mobila och sociala applikationer

TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA)

Agil användbarhetsutveckling för handhållna enheter. Per Lind

Versionshantering. Jan Erik Moström

Problemen i ett utvecklingsteam

Tfn Telephone Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change

Mer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?

En samling fårskallar

TDP005, Projekt: Objekt-orienterade System. Laboration: Eclipse

TDP005, Projekt: Objektorienterade System. Laboration: Eclipse

TDP005, Projekt: objektorienterade system

Grundläggande termer. Några olika system. F11 Grunderna i Versionshantering. Git basic. Origin. Git basic. Git basic. Local #1. Local #3.

GIT som alternativ till CVS/SVN i agila utvecklingsmiljöer

TDIU01 (725G67) - Programmering i C++, grundkurs

Handbok Cervisia. Bernd Gehrmann Carlos Woelz Översättare: Stefan Asserhäll

Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)

TDIU01 - Programmering i C++, grundkurs

Unix-miljöer i större sammanhang

JUnit. Junit Unit Testing. JUnit 3. JUnit 3 forts. Villkorskontroller i test. Exempel JUnit3

TDIU01 - Programmering i C++, grundkurs

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

Laboration 1. Webbprodution Struktur & innehåll HT2015

Dr. Gustav Taxén MDI-Gruppen, CSC / VIC-Sthlm gustavt@kth.se

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Hantering av hazards i multi-pipelines

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Har funnits nästan lika länge som datorerna. Manuell process, svarta tavlan Verktygsstöd kom tidigt redan i början på

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Att bygga enkel webbapplikation i Docker

Manual för Remote Travel användare Hur Ni använder er av CRM RemoteTravel

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Tommy Färnqvist, IDA, Linköpings universitet

Innehållsförteckning. Användarmanual för Lockbee Backup Databas 2009

TDP002 Imperativ programmering. Laborationsmaterial emacs python-mode

En ersättning för Fire, baserad på versionshantering. and geographical information systems PONTUS SAHLBERG

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

TDDI16: Datastrukturer och algoritmer

C++ - En introduktion

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

TDIU01 - Programmering i C++, grundkurs

Objektorientering - Arv och polymorfi. Eric Elfving Institutionen för datavetenskap

TDDC76 - Programmering och Datastrukturer

surell consulting ab

Konfigurationsstyrning tjänstedomäner ARK_0007. Version

Installationsanvisningar VISI Klient

TDIU01 - Programmering i C++, grundkurs

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Programvara på Nada. Johan Berglund Systemgruppen, Nada

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

BOOK-IT 6.0. Backup Solaris

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

HANDLEDNING. för Android-telefoner

TDDC76 - Programmering och Datastrukturer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

BRUKSANVISNING FÖR NÄTVERKSANVÄNDARE

TDDC76 - Programmering och Datastrukturer

TDP004. Minne och pekare. Eric Elfving Institutionen för datavetenskap

GIT L0003B. Databaser, en introduktion. Information inför kursstart

Introduktion till algoritmer - Lektion 3 Matematikgymnasiet, Läsåret Lektion 3

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Snabbstart för Micro Focus Vibe Desktop för Windows

Webbsidor och webbservrar

Tentamen C++-programmering

Micro Focus Vibe Desktop för Mac

HTML och CSS. Eric Elfving Institutionen för Datavetenskap (IDA)

Introduktion till LÄROBJEKT. tisdagen

Manual för hur man använder Koneos fjärrskrivbord

Översättningsminnen laboration

Zimplit CMS Manual. Introduktion. Generell Information

Verktyg och Utvecklingsmiljö. Jochim von Hacht

IT-körkort för språklärare. Modul 3: Ljud, del 1

Frågebanker, frågeuppsättningar och slumpvisa block

Datorsystem och programmering

Design Collaboration Suite

1 Klasser och objektorientering Vad är objektorientering?

Lathund - Konfiguration av PLC och dator

Lite mer om CGI-programmering

Uppgift 1 ( Betyg 3 uppgift )

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Innehåll. MySQL Grundkurs

Förändringar i v4 SR-4

Transkript:

Introduktion till UPP-gruppen Christoffer Holm Institutionen för datavetenskap (IDA)

1

1

3 / 11 Krav på användning av i kursen,

3 / 11 Krav på användning av i kursen, Men vad är det?

3 / 11 Krav på användning av i kursen, Men vad är det? Interaktiv tutorial: http://learngitbranching.js.org/

4 / 11 Är ett så kallat versionshanteringssystem,

4 / 11 Är ett så kallat versionshanteringssystem, Spårar ändringar i en samling filer som finns lokalt i en katalog (Repository),

4 / 11 Är ett så kallat versionshanteringssystem, Spårar ändringar i en samling filer som finns lokalt i en katalog (Repository), Går att koppla upp ett -repository till en server, (Remote) som tillåter flera användare att synkronisera sina lokala repositories mot servern,

4 / 11 Är ett så kallat versionshanteringssystem, Spårar ändringar i en samling filer som finns lokalt i en katalog (Repository), Går att koppla upp ett -repository till en server, (Remote) som tillåter flera användare att synkronisera sina lokala repositories mot servern, sköter sammanslagningen av ändringar från flera användare vilket tillåter användarna att arbeta parallellt.

5 / 11 Lokala repositories Skapa ett -repo i en befintlig katalog med: $ git init

5 / 11 Lokala repositories Skapa ett -repo i en befintlig katalog med: $ git init Koppla upp ett lokalt -repo till en remote: $ git remote add origin <address>

5 / 11 Lokala repositories Skapa ett -repo i en befintlig katalog med: $ git init Koppla upp ett lokalt -repo till en remote: $ git remote add origin <address> Hämta ett -repo från en remote med följande: $ git clone <address>

5 / 11 Lokala repositories Skapa ett -repo i en befintlig katalog med: $ git init Koppla upp ett lokalt -repo till en remote: $ git remote add origin <address> Hämta ett -repo från en remote med följande: $ git clone <address> Lagra era -repos på: https://gitlab.ida.liu.se/

6 / 11 Hur fungerar det? Alla filer eller ändringar som ska spåras måste registreras: $ git add <filnamn>

6 / 11 Hur fungerar det? Alla filer eller ändringar som ska spåras måste registreras: $ git add <filnamn> När alla ändringar har registreras måste de föras in i repot: $ git commit -m "<beskrivning på ändringarna>"

6 / 11 Hur fungerar det? Alla filer eller ändringar som ska spåras måste registreras: $ git add <filnamn> När alla ändringar har registreras måste de föras in i repot: $ git commit -m "<beskrivning på ändringarna>" För att se vad som är registrerat för tillfället och vad som har ändrats: $ git status

6 / 11 Hur fungerar det? Alla filer eller ändringar som ska spåras måste registreras: $ git add <filnamn> När alla ändringar har registreras måste de föras in i repot: $ git commit -m "<beskrivning på ändringarna>" För att se vad som är registrerat för tillfället och vad som har ändrats: $ git status Tips: Kör alltid git status mellan varje operation för att se vad som händer!

7 / 11 Kommunicera med remote För att ladda upp commits till remote: $ git push

7 / 11 Kommunicera med remote För att ladda upp commits till remote: $ git push Ladda ner commits från remote: $ git pull

7 / 11 Kommunicera med remote För att ladda upp commits till remote: $ git push Ladda ner commits från remote: $ git pull Viktigt: Gör alltid pull innan du gör push!

8 / 11 origin/master C0 master

8 / 11 origin/master C0 C1 master

8 / 11 origin/master C0 C1 master

8 / 11 origin/master C0 C1 master B1 branch

8 / 11 origin/master C0 C1 master B1 B2 branch

8 / 11 origin/master C0 C1 C2 master B1 B2 branch

8 / 11 origin/master C0 C1 C2 C3 master B1 B2 branch

8 / 11 origin/master C0 C1 C2 C3 master B1 B2 branch

8 / 11 origin/master C0 C1 C2 C3 C4 master B1 B2 branch

8 / 11 origin/master C0 C1 C2 C3 C4 master B1 B2 branch

8 / 11 origin/master C0 C1 C2 C3 C4 master B1 B2

9 / 11 Branching Skapa branch: $ git branch <namn> Ta bort branch: $ git branch -d <namn> Byt branch: $ git checkout <namn> Tillämpa en branch till nuvarande (merge): $ git merge <namn>

10 / 11 Ibland kan det dock gå fel... $ git merge second_branch Auto - merging test.cc CONFLICT ( content): Merge conflict in test.cc Automatic merge failed; fix conflicts and then commit the result. int main() { <<<<<<< HEAD cout << " Bar" << endl; ======= cout << " Foo" << endl; >>>>>>> second_branch }

10 / 11 Ibland kan det dock gå fel... $ git merge second_branch Auto - merging test.cc CONFLICT ( content): Merge conflict in test.cc Automatic merge failed; fix conflicts and then commit the result. int main() { <<<<<<< HEAD cout << " Bar" << endl; ======= cout << " Foo" << endl; >>>>>>> second_branch }

10 / 11 Ibland kan det dock gå fel... $ git merge second_branch Auto - merging test.cc CONFLICT ( content): Merge conflict in test.cc Automatic merge failed; fix conflicts and then commit the result. int main() { <<<<<<< HEAD cout << " Bar" << endl; ======= cout << " Foo" << endl; >>>>>>> second_branch } Välj en av dessa!

11 / 11 Vi fixar merge konflikten: int main() { cout << " Bar" << endl; } och kör sedan: $ git add test.cc $ git commit -m "Fixed merge conflict"

www.liu.se