introduksjon til git og github - universitetet i oslo · git basics før ler kan lastes o pp, må...

19
INTRODUKSJON TIL GIT OG INTRODUKSJON TIL GIT OG GITHUB GITHUB Presentasjon av Presentasjon av Kudakwashe Kidwell Kudakwashe Kidwell Chambwe Chambwe

Upload: others

Post on 09-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

INTRODUKSJON TIL GIT OGINTRODUKSJON TIL GIT OGGITHUBGITHUB

Presentasjon av Presentasjon av Kudakwashe Kidwell Kudakwashe Kidwell ChambweChambwe

Page 2: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

DAGENS AGENDADAGENS AGENDA1. Hva er versjonshåndtering?2. Hva er git?3. Hvorfor git?4. Hvordan git?

git "språket"git basicsgit arbeids�ytgit verktøytips og tricks

5. GitHub

Page 3: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

HVA ERHVA ERVERSJONSHÅNDTERING?VERSJONSHÅNDTERING?

Versjonshåndtering (Version Control) er et verktøy som lar oss..

SAMARBEIDESAMARBEIDESamarbeide med andre på ett eller �ere prosjekter

HÅNDTERE OG OVERVÅKE ENDRINGERHÅNDTERE OG OVERVÅKE ENDRINGERVi alle gjør feil.. Tanken med versjonshåndtering er at vi skal kunne se alt som er blitt gjort,

og ha muligheten til å tilbakestille ved eventuelle feil

Page 4: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

HVAHVA ER GIT? ER GIT?VCSVCS

Et versjonshåndteringssystem (VCS) for å håndtere og administrere endringer av �ler ogeventuelt koordinere når �ere samarbeider

DVCSDVCSEt distribuert versjonshåndteringssytem (DVCS), hvor brukerne/klienter speiler hele

repoet istedet for å stadig hente ut det nyste �lene (i.e. sentralisert). M.a.o alle brukerehar en kopi av repoet.

Page 5: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

HVORFOR GIT?HVORFOR GIT?Raskt! Henter informasjon om �ler og prosjektetraskt og e�ektivt, siden nesten alt er lokalt.Distribuert! Alle har en kopi av "repoet"Skalerbart! Gir mulighet for tusenvis av utviklere tilå sammarbeide på samme prosjektet og sammekoden.

Page 6: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

HVORFOR GIT?HVORFOR GIT?Lokalt! Trenger ikke nettverk. Alt kan gjøres o�ine,med mindre man skal jobbe med andre (i.e.GitHub).Branches! Eksperimetér med koden og prosjektet iet separat miljø. Enkelt å lage, endre og slette"features".Håndterbart! Alle en lokal kopi av repoet, som betyrat alle har oversikt over �lene og historien til �lenetil enhver tid.

Page 7: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

HVORDAN GIT?HVORDAN GIT?

Page 8: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT "SPRÅKET"GIT "SPRÅKET"REPOSITORY?REPOSITORY?

Ett "oppbevaringssted" eller "mappe" hvor alle �lene som er i git-prosjektet be�nner seg

BRANCH?BRANCH?En gren, eller en uavhengig serie med commits in versjonsdatabase. Kan brukes som en

"lekeplass" for å eksperiementere med features uten å påvirke hoved�lene

COMMIT?COMMIT?Et objekt som holder på informasjonen om en spesi�kk endring. Ofte har en melding.

Page 9: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT BASICSGIT BASICS

Kloner repositoriet du henter fra.

Henter nyeste versjon av repoet du be�nner deg i.

Laster opp nyeste comittede versjonen du har av repoet du be�nner deg i.

Legge til, nye eller endrede �ler som du vil laste opp til repoet.

git clone [url]

git pull

git push

git add [file]

Page 10: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT BASICSGIT BASICS

Før �ler kan lastes opp, må de committes. Dette må gjøres med en melding.

Lager en branch/gren.

Laster opp alle endringer (i.e. slå sammen) fra en gren til den du står på (ved kall). NB: Herkan det oppstå kon�ikter(!).

Skifter gren dun står på. Brukes for å navigere seg fra/til ulike grener.

git commit -m [message]

git branch [branch-name]

git merge [branch]

git checkout [branch-name]

Page 11: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT ARBEIDSFLYTGIT ARBEIDSFLYTEN FORENKLET ILLUSTRASJONEN FORENKLET ILLUSTRASJON

Page 12: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT ARBEIDSFLYTGIT ARBEIDSFLYTDET STORE BILDETDET STORE BILDET

Page 13: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT ARBEIDSFLYTGIT ARBEIDSFLYTSPESIELLE FILERSPESIELLE FILER

Les-meg-�l på GitHub er denne �len som vises påLes-meg-�l på GitHub er denne �len som vises pågithub-siden deres.github-siden deres.

Listen av �ler/mapper som ikke skal committes (e.g.Listen av �ler/mapper som ikke skal committes (e.g.libraries, api-nøkler, etc..) libraries, api-nøkler, etc..)

Lisensen du publiseres under. Lisensen du publiseres under.

README.md

.gitignore

.gitignore generator.gitignore generatorLICENSE.txt

Oversikt herOversikt her

Page 14: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT VERKTØYGIT VERKTØYGUI KLIENTERGUI KLIENTER

Det �nnes et bredt utvalg av git-applikasjoner med gra�ske grensesnitt. De ulikeneapplikasjonene gir et visuelt oversikt av bl.a. git-kommandoer og repoet.

GIT WEBTJENESTERGIT WEBTJENESTERDet �nnes også ulike webtjenester som tar seg av å "hoste" git-repoer. E.g. Gitlab,

Bitbucket, GitHub (mest aktuelt), etc...

Oversikt her

Page 15: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

GIT VERKTØYGIT VERKTØY

Page 16: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

TIPS OG TRICKSTIPS OG TRICKS#1 RESPEKTÉR MASTER#1 RESPEKTÉR MASTER

ALDRIALDRI last opp kode som ikke kjører til master. Worst last opp kode som ikke kjører til master. Worstcase; bruk branch.case; bruk branch.

Page 17: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp

TIPS AND TRICKSTIPS AND TRICKS#2 BRUK GIT!#2 BRUK GIT!

Det kan være skremmende.. men det er virkeligDet kan være skremmende.. men det er virkelignyttig. Dere sparer mye tid i det lange løp. When innyttig. Dere sparer mye tid i det lange løp. When in

doubt, google it!doubt, google it!

#3 SLACK!#3 SLACK!

More code, more problems.. Viktig på kunneMore code, more problems.. Viktig på kunnekommunisere for eks. ved mergekon�ikter. Viktigkommunisere for eks. ved mergekon�ikter. Viktig

verktøy verktøy for kommunikasjon er slack. Kan integreresfor kommunikasjon er slack. Kan integreresmed med gitgit

Page 18: INTRODUKSJON TIL GIT OG GITHUB - Universitetet i oslo · GIT BASICS Før ler kan lastes o pp, må de committes. Dette må gjøres med en melding. Lager en branch/gren. Laster opp