Wat is Git?

Git is een programma dat alle versies van je code bewaart. Elke keer als je iets af hebt, sla je een versie op. Gaat er later iets mis? Dan ga je gewoon terug naar een eerdere versie.

Denk aan een game:

Een commit in Git is net als een savepoint in een game. Ga je dood (code kapot)? Dan begin je weer bij je laatste savepoint, in plaats van helemaal opnieuw.

Zonder Git krijg je dit:

website.zip
website-nieuw.zip
website-nieuw-FINAL.zip
website-nieuw-FINAL-echt.zip

Met Git heb je gewoon één map, en Git onthoudt alle versies voor je.

Git, GitHub en GitHub Desktop

  • Git — het programma op je laptop dat de versies bewaart
  • GitHub — de website waar je je code online zet, zodat je team erbij kan
  • GitHub Desktop — een app met knoppen, zodat je geen commando's hoeft te typen

Desktop of terminal?

Als je in GitHub Desktop op een knop klikt, voert Desktop eigenlijk een Git-commando uit. Op deze cheat sheet zie je steeds allebei: eerst hoe het in Desktop gaat, daarna hoe je het in de terminal typt.

De 4 stappen

Dit zijn de vier dingen die je het vaakst doet:

StapWat doet het?In GitHub Desktop
git addKies welke bestanden je wilt opslaanVinkje voor het bestand
git commitSla een versie op (op je laptop)Knop Commit to …
git pushStuur je versies naar GitHubKnop Push origin
git pullHaal het werk van je team binnenKnop Pull origin

Let op: een commit staat alleen op jouw laptop. Je team ziet het pas na git push!

Zie het in actie

Klik de knoppen van links naar rechts en kijk waar je bestand naartoe gaat. Probeer daarna ook eens: eerst Sam pusht iets, en dan zelf git push. Wat gebeurt er?

Van bestand naar GitHub
Je projectmap
Wat je aanpast in VS Code
Klaar om op te slaan
Na git add
Op je laptop
Na git commit
Op GitHub
Na git push

Wat gebeurt er?

  1. Je past een bestand aan
  2. git add → je legt het klaar
  3. git commit → je slaat een versie op, op je laptop
  4. git push → je zet het op GitHub voor je team

Begrippen

  • Repository (repo) — je projectmap, maar dan bijgehouden door Git
  • Commit — een opgeslagen versie van je code (een savepoint)
  • Push — je commits naar GitHub sturen
  • Pull — het werk van anderen van GitHub binnenhalen
  • Clone — een repo van GitHub naar je laptop downloaden
  • Branch — een aparte kopie om aan iets nieuws te werken
  • main — de hoofdversie van je project
  • Pull request — een verzoek: "mag mijn werk in main?"

Nog niet alles duidelijk? Geen probleem. Branches en pull requests leer je op de volgende pagina's.