From 02ad546cd6b35e6fad0973d1c90ec35c4190392c Mon Sep 17 00:00:00 2001 From: Ian Valentin Christensen Date: Wed, 26 Jun 2024 15:04:30 +0200 Subject: add explanation of git --- tools/git/git1.png | Bin 0 -> 76905 bytes tools/git/git2.png | Bin 0 -> 48252 bytes tools/git/git3.png | Bin 0 -> 54649 bytes tools/git/git4.png | Bin 0 -> 128616 bytes tools/git/gitlog.png | Bin 0 -> 88520 bytes tools/git/index.qmd | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ tools/git/tig.png | Bin 0 -> 389676 bytes 7 files changed, 58 insertions(+) create mode 100644 tools/git/git1.png create mode 100644 tools/git/git2.png create mode 100644 tools/git/git3.png create mode 100644 tools/git/git4.png create mode 100644 tools/git/gitlog.png create mode 100644 tools/git/index.qmd create mode 100644 tools/git/tig.png (limited to 'tools') diff --git a/tools/git/git1.png b/tools/git/git1.png new file mode 100644 index 0000000..52a86ec Binary files /dev/null and b/tools/git/git1.png differ diff --git a/tools/git/git2.png b/tools/git/git2.png new file mode 100644 index 0000000..e015455 Binary files /dev/null and b/tools/git/git2.png differ diff --git a/tools/git/git3.png b/tools/git/git3.png new file mode 100644 index 0000000..82a6bc2 Binary files /dev/null and b/tools/git/git3.png differ diff --git a/tools/git/git4.png b/tools/git/git4.png new file mode 100644 index 0000000..c858058 Binary files /dev/null and b/tools/git/git4.png differ diff --git a/tools/git/gitlog.png b/tools/git/gitlog.png new file mode 100644 index 0000000..45c9187 Binary files /dev/null and b/tools/git/gitlog.png differ 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) + diff --git a/tools/git/tig.png b/tools/git/tig.png new file mode 100644 index 0000000..ae8e28a Binary files /dev/null and b/tools/git/tig.png differ -- cgit v1.2.3