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

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

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

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

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

Tig