aboutsummaryrefslogtreecommitdiff
path: root/tools/git/index.qmd
diff options
context:
space:
mode:
Diffstat (limited to 'tools/git/index.qmd')
-rw-r--r--tools/git/index.qmd58
1 files changed, 58 insertions, 0 deletions
diff --git a/tools/git/index.qmd b/tools/git/index.qmd
new file mode 100644
index 0000000..128e11a
--- /dev/null
+++ b/tools/git/index.qmd
@@ -0,0 +1,58 @@
+# Git
+
+Vores endelige projektrapport er resultatet af en projektmappe fyldt med filer,
+som interagerer med hinanden.
+Disse filer administrerer vi med Git, som er et versioneringssystem
+til at holde styr på forskellige versioner af opgaven
+på hver gruppemedlems PC.
+
+Hvert medlem redigerer projektets filer lokalt.
+Når de vurderer,
+at deres ændringer udgør en helhed som kan beskrives med en kort tekst,
+uploader de disse til en central server.
+Dette sker oftest gennem en række kommandoer i en terminal.
+
+![Git status](git1.png)
+
+Git status viser filer, som er ændrede siden sidste git pull,
+hvor git pull henter filer fra den centrale server til den lokale computer.
+Ovenfor ses det, at mappen tools/markdown ikke er tilføjet og klar til commit.
+Dette løses med git add:
+
+![Git add og git commit](git2.png)
+
+Efter git add er ændringerne klar til commit.
+Efter kommandoen følger -m efterfulgt af en kommentar,
+som senere kan ses i historikken over ændringer.
+
+![git push](git3.png)
+
+Efter commit er filerne klar til at blive push'et,
+men da filerne på serveren har ændret sig,
+opstår en fejl.
+For at løse dette kan bruges git pull for at indhente ændringerne på serveren,
+inden der pushes.
+
+![git commit, pull og push](git4.png)
+
+For at hente filerne må vi først commite de filer som ellers er ændrede.
+Da det vides,
+at der kun er en fil som mangler at blive committet,
+kan dette gøres med første kommando på ovenstående billede,
+hvor -a betyder "alle filer".
+Herefter bruge git pull, som henter filerne,
+med flaget --rebase,
+som løser konflikter ved at stille de lokale ændringer oven på de nye.
+Efter pull kan de committede filer pushes til serveren med git push,
+hvorefter de lokale ændringer nu også ligger på serveren.
+Disse ændringer kan nu hentes af andre gruppemedlemmer med git pull.
+
+Denne fremgangsmåde kan virke uoverskuelig og unødvendigt besværlig,
+men processen tager kun omkring et halvt minut efter en smule øvelse.
+Fordelen er at alle projektet ændringer nu er synlige med git log
+eller programmer som tig, vist nedenfor.
+
+![Git log -p](gitlog.png)
+
+![Tig](tig.png)
+