Les 2 - Recap DevOps en 'getting git'
Bron: https://xkcd.com/1597/
Voorbereiding
Reminder: De voorbereiding is niet optioneel. Zonder voorbereiding wordt het lastig om mee te doen met de les en dat is een verspilling van zowel je eigen tijd, tijd van je mede studenten en tijd van de docent. Niet aardig.
- Lees de opdrachtbeschrijving van deze week.
- Accepteer 1e weekopdracht via de GitHub Classroom link die docent je geeft.
- Zorg dat je de laatste (LTS) versie van Git lokaal geinstalleerd hebt.
- Review Git
- Uitgangspunt is al enige ervaring met Git uit eerdere projecten, zowel theorie als prakijk. Als Git nieuw is, of heel lang geleden kun je deze korte 15 minuten git intro op YouTube van een zekere Colt Steele kijken.
- Maak de online oefeningen van module 1 (introduction sequence) van Learn git branching
- Lees [dit artikel van Priyam Singh (2020) over de 'four area's'
- Haal uit de officiele 'git reset' documentatie het verschil tussen hard, soft en mixed git reset.
- Beantwoord de volgende vragen (hier komen wij in de les op terug)
- Schrijf uit je hoofd op wat de 'four area's' van Git zijn.
- Hoe past de
remote
repository bij deze four area's? - Hoe commit je het verwijderen van een file?
- Hoe commit je het veranderen van een bestandsnaam?
- Kun je een Git commit message later nog aanpassen via de command line? (Zo ja, hoe? Als niet, waarom niet?)
- Wanneer heb je langere 'commit trail'? Bij gebruik van
merge
of vanrebase
? - Wat is de standaard 'mode' van git reset (mixed)?
- Wat zou een toepassing kunnen zijn van
git reset soft
?
Bron: www.theserverside.com
Lesprogramma
Figuur 1: GitOps in a nutshell (Bron: vocal.media)
- GitOps Betekenis
- Reconciliation
- Wekelijkse Opdracht
- Discussie over het vormen van groepen
- Introductie tot cursus rubrics CDMM — Nodig voor Wekelijkse Opdracht reflectie
- Introductie deze week Opdracht
PAUZE — 15 min.
- Doornemen huiswerk vragen
- Maak de online oefeningen van module 2 en 3 van Learn git branching (4 en 5 optioneel)
- Ramping up
- Moving work around
- Bespreken "advanced" termen
- De staging area (en hoe
git reset
nou precies werkt) - Het netjes maken van commit messages en hergroeperen van commits
- De stash
- Cherry picking
- remotes
- Changes rebasen i.p.v. mergen
- De staging area (en hoe
Vooruitblik
Volgende DevOps les over Git workflows, alternatieven voor git branches en GitOps. Bekijk het huiswerk ook!
Leerdoelen
- Je kunt uitleggen wat GitOps is, de rol die Git hierin speelt en de betekenis van woorden 'runtime', 'reconcilliation' en 'desired state' hierbij
- Je kent de basis Git commando's, als
add
,commit
,push
,pull
,stash
en concepten als Git's four area's - Je kent ook enkele geavanceerdere Git commando's en werkwijzen zoals
git reset
,git cherry-pick
, rebasing en het manipuleren van de historie metamend
enrevert
- Je kunt uitleggen hoe Git branching 'goedkoop' heeft gemaakt
Bronnen
- Singh, P. (January 17, 2020) Git - The Four Areas devsecopsgirl.in Geraadpleegd november 2024 op https://www.devsecopsgirl.in/devsecops/Git%20-%20four%20areas
- Git (z.d.) git-reset Documentation. git-scm.com. Geraadpleegd december 2024 op https://git-scm.com/docs/git-reset
- McKenzie, C. (23-8-2024) Git reset hard vs. soft: What's the difference? theserverside.com Geraadpleegd december 2024 op https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Git-reset-hard-vs-soft-Whats-the-difference