Understanding Version Control

πŸ“š Hoofdstuk 27.1: Understanding Version Control

────────────────────────────────────────────
πŸ—‚οΈ Wat is Version Control?
────────────────────────────────────────────
β€’ Version Control = Methode om wijzigingen in projectbestanden te beheren.
β€’ VCS (Version Control System) = Centrale plek voor het bewaren, volgen en samenvoegen van projectbestanden.
β€’ Beschermt bestanden tegen per ongeluk overschrijven.

────────────────────────────────────────────
πŸ”„ Soorten Version Control
────────────────────────────────────────────
β€’ Distributed VCS (zoals Git):
- Ontwikkelaars werken lokaal (zelfs offline).
- Wijzigingen pas zichtbaar na een git push.
- Geschikt voor samenwerking en offline werken.

────────────────────────────────────────────
🧱 Git-structuur
────────────────────────────────────────────
Onderdeel | Beschrijving
---------------------|----------------------------------------------------
Working Directory | Lokale map waar je actief werkt
Staging Area | Tijdelijke opslag (via `git add`)
Index File | Bestand met checksums & timestamps (.git/index)
Blob | Gecomprimeerde bestandsobjecten (.git/objects)
Local Repository | Volledige projectgeschiedenis (snapshots)
Remote Repository | Online gedeelde code (bv. GitHub, GitLab)

────────────────────────────────────────────
βœ… Voordelen van Git
────────────────────────────────────────────
β€’ Performance: Werkt lokaal β†’ supersnel
β€’ History: Elke commit = snapshot
β€’ Accuracy: Checksums beschermen tegen corruptie
β€’ Decentralization: Volledig functioneel zonder netwerk