diff --git a/lectures/revealjs/includes/scm_content.adoc b/lectures/revealjs/includes/scm_content.adoc index 335ff84b2e45d03594f049855ce36d1af971cda1..d304097e699aa7dde2810e6ca6e5b0c756318913 100644 --- a/lectures/revealjs/includes/scm_content.adoc +++ b/lectures/revealjs/includes/scm_content.adoc @@ -5,11 +5,17 @@ * versionering * distribusjon -[.grid-left-right-50-50] + + + == `git` -[.smaller-60] -[.area-left] +image::../images/git-local-remote-repo.png[] + + +== `git` + +[.smaller-80] * sporing og deling av kodeendringer i såkalte _repo_ (repository) * både sentrale og lokale repo har all endringshistorikk * initiell kopi hentes ved å _kloning_ (clone) @@ -17,26 +23,22 @@ * commits deles med andre ved å _dytte_ (push) til en server * andre kan da _dra_ (pull) endringene inn i lokalt repo -[.area-right] -image::../images/git-local-remote-repo.png[] -[.grid-left-right-50-50] == 4 repo-"kopier" -[.smaller-60] -[.area-left] * originalen (_origin_), hentet fra server (`pull`) * arbeidsområdet (_working directory_), lokale filer som kan være endret * indeksen (_staging area_ eller _index_), endringer du har lagt til med (`add`) * lokalt repo, endringene du har commitet (`commit`) -[.area-right] -image::../images/git-repo-copies.png[] +== 4 repo-"kopier" + +image::../images/git-repo-copies.png[width="400px"] == repo-kommandoer -image::../images/git-repo-copies.png[width="400px"] -image::../images/git-repo-commands.png[width="500px"] +image::../images/git-repo-copies.png[width="300px"] +image::../images/git-repo-commands.png[width="400px"] == Typisk sekvens @@ -64,57 +66,4 @@ image::../images/git-repo-commands.png[width="500px"] [.right] image::../images/git-branching.png[width="200px"] -== Sekvens m/forgreining -[.smaller-80] -* `git pull` - henter ned endringer fra serveren -* `git checkout -b <navn på (ny) grein>` - lager ny grein, med utgangspunkt i den du jobber med -* gjør egne endringer -* `git add ...` og `git commit ...` - registrerer all endringene -* `git checkout master` - bytter til hovedgrein -* `git merge <navn på grein>` - slår annen grein (den nye) sammen med denne (hovedgreina) -* ... - -== Eclipse-støtte for git - -[.smaller-60] -* Egne Eclipse-tillegg - JGit (git-impl) og EGit (UI) -* Git Repositories-panel - oversikt over repo -** klone repo fra server eller registrere lokalt repo -** utføre `pull` og `push` -** utføre `checkout` inkl. lage ny grein -** ... - -image::../images/git-repositories-view.png[height="200px"] - -== Eclipse-støtte forts. - -[.smaller-60] -* Git Staging - statusoversikt -** filer i arbeidsområdet som er endret -** filene i indeksen -** legge til (`add`) eller fjerne (`remove`) fra indeksen - -image::../images/git-staging-view.png[width="800px"] - -== Endringsforespørsler - -[.smaller-60] -* en `pull`/`merge`-forespørsel (request) brukes for mer formell godkjenning av endringer -** Pull Request er github-termen, mens Merge Request brukes i gitlab -* brukes ofte for å inkludere endringer utenfra, f.eks. -** utviklere utenfor kjerne-teamet -** brukere av åpen kildekode som har fikset feil -* forenkler administrasjon av åpne prosjekter - -== PR/MR-prosedyre - -[.smaller-60] -* (utenforstående oppretter kopi på egen server) -* lager en grein for endringene og utfører dem lokalt -* i stedet for å slå sammen med egen hovedgrein -** `push` grein til egen server -** lag en `pull`/`merge`-forespørsel (PR/MR), som (potensielt) kan inkluderes i hovedgreina -** UI for dette finnes på github/i gitlab -** forespørselen får en egen dialog/diskusjonstråd -** en utvikler med rettigheter kan så godkjenne evt. avslå forespørsel