Skip to content
Snippets Groups Projects
Commit e2dc675f authored by George Adrian Stoica's avatar George Adrian Stoica
Browse files

updates source code management for 2nd lecture

parent d7dd9c73
No related branches found
No related tags found
No related merge requests found
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment