# Git versiebeheer uitgelegd voor beginners
## Inleiding
Git is een krachtig versiebeheersysteem dat veel gebruikt wordt in de softwareontwikkeling. Het stelt je in staat om wijzigingen in je code bij te houden, samen te werken met andere ontwikkelaars en verschillende versies van je project te beheren. Dit tutorial is bedoeld voor beginners en neemt je stap voor stap mee door de basisprincipes van Git. Aan het einde van deze handleiding moet je in staat zijn om Git te gebruiken voor je eigen projecten.
### Wat is versiebeheer?
Versiebeheer is een systeem dat helpt bij het registreren van wijzigingen in bestanden of sets van bestanden in de tijd. Dit is vooral handig voor ontwikkelaars die aan projecten werken, omdat het hen in staat stelt om terug te gaan naar eerdere versies van hun code, samen te werken met anderen en eventuele fouten op te sporen. Git is één van de meest populaire tools voor versiebeheer, en het is gratis en open source. Het biedt een gedistribueerde architectuur, wat betekent dat elke ontwikkelaar zijn eigen complete versie van de repository heeft, inclusief de geschiedenis.
## Stappenplan
### 1. Git installeren
Voordat je aan de slag kunt met Git, moet je het op je computer installeren. Dit kan eenvoudig via de officiële website.
- **Windows:** Download de installer van [git-scm.com](https://git-scm.com) en volg de instructies op het scherm.
- **macOS:** Open de terminal en voer het volgende commando uit:
```bash
brew install git
Als je Homebrew nog niet hebt geïnstalleerd, kun je dat doen door de instructies op de Homebrew-website te volgen.
-
Linux: Gebruik het pakketbeheersysteem van jouw distributie. Bijvoorbeeld voor Ubuntu:
sudo apt-get install git
Na de installatie kun je controleren of Git correct is geïnstalleerd door het volgende commando uit te voeren:
git --version
Dit zou je de geïnstalleerde versie van Git moeten tonen.
2. Git configureren
Na de installatie is het belangrijk om Git te configureren met jouw naam en e-mailadres. Dit zijn de gegevens die worden gebruikt in de commit-geschiedenis. Open de terminal en voer de volgende commando’s uit:
git config --global user.name "Jouw Naam"
git config --global user.email "jouw.email@example.com"
Je kunt je configuratie controleren met:
git config --global --list
Hiermee krijg je een overzicht van je huidige configuratie-instellingen. Het is goed om te weten dat deze instellingen globaal zijn, wat betekent dat ze voor al je repositories gelden.
3. Een nieuw Git-repository aanmaken
Een repository is een map waarin je projectbestanden en de bijbehorende versiegeschiedenis worden opgeslagen. Om een nieuwe repository aan te maken, volg je deze stappen:
-
Maak een nieuwe map aan voor je project:
mkdir mijn-project cd mijn-project -
Initialiseer een nieuwe Git-repository:
git init
Met dit commando maak je een nieuwe, lege repository aan in de map die je zojuist hebt gemaakt.
4. Bestanden toevoegen aan de repository
Nu je een Git-repository hebt, kun je bestanden toevoegen. Maak bijvoorbeeld een nieuw bestand aan:
echo "# Mijn Project" >> README.md
Om dit bestand aan je repository toe te voegen, gebruik je het git add commando:
git add README.md
Je kunt ook meerdere bestanden tegelijk toevoegen door hun namen te scheiden met een spatie, of je kunt alle gewijzigde bestanden toevoegen met:
git add .
5. Wijzigingen committen
Na het toevoegen van bestanden is het tijd om je wijzigingen op te slaan met een commit. Dit is een momentopname van je project op een bepaald tijdstip. Voer het volgende commando uit om je wijzigingen te committen:
git commit -m "Eerste commit: voeg README toe"
De -m vlag geeft een bericht mee dat beschrijft wat je hebt gedaan. Dit is belangrijk voor de documentatie van je project.
6. De status van je repository controleren
Om te zien welke bestanden zijn gewijzigd of welke bestanden nog niet zijn toegevoegd, gebruik je:
git status
Dit geeft je een overzicht van de huidige status van je repository en laat zien welke bestanden zijn gewijzigd, toegevoegd of verwijderd.
7. Geschiedenis bekijken
Om de commitgeschiedenis van je project te bekijken, gebruik je:
git log
Je ziet een lijst met commits, inclusief de commit ID, auteur en datum. Dit is handig om te zien welke wijzigingen er zijn aangebracht en door wie.
8. Bestanden wijzigen en opnieuw committen
Laten we een wijziging aanbrengen in het bestand README.md. Open het bestand en voeg een nieuwe regel toe. Sla het bestand op.
Voeg de wijzigingen weer toe en commit:
git add README.md
git commit -m "Update README met extra informatie"
Dit proces van wijzigen, toevoegen en committen herhaal je vaak tijdens de ontwikkeling van je project.
9. Git branches gebruiken
Branches zijn een krachtig onderdeel van Git. Hiermee kun je werken aan nieuwe functies zonder de hoofdcode te verstoren. Maak een nieuwe branch aan met:
git checkout -b nieuwe-feature
Nu kun je in deze nieuwe branch werken. Wanneer je klaar bent met je wijzigingen, kun je ze samenvoegen met de hoofdbranch (meestal main of master):
-
Ga terug naar de hoofdbranch:
git checkout main -
Voer de merge uit:
git merge nieuwe-feature
Bij het samenvoegen kan het zijn dat je conflicten tegenkomt, vooral als anderen ook wijzigingen hebben aangebracht in dezelfde bestanden. In dat geval moet je deze conflicten handmatig oplossen.
10. Git remote repositories gebruiken
Vaak wil je je project delen of samenwerken met anderen. Dit doe je door een remote repository te gebruiken, bijvoorbeeld op GitHub.
-
Maak een nieuwe repository aan op GitHub.
-
Koppel je lokale repository aan de remote repository:
git remote add origin https://github.com/jouwgebruikersnaam/mijn-project.git -
Push je commits naar de remote repository:
git push -u origin main
Met deze stappen kun je je werk met anderen delen en samenwerken aan projecten.
11. Samenwerken met anderen
Als je samenwerkt met anderen, wil je hun wijzigingen ook binnenhalen. Dit doe je met het git pull commando:
git pull origin main
Dit haalt de nieuwste wijzigingen van de remote repository en voegt ze samen met je lokale versie. Het is een goed idee om regelmatig git pull uit te voeren, zodat je altijd de laatste versie van het project hebt.
Problemen oplossen
Veelvoorkomende fouten
-
Merge conflicten: Soms kunnen er conflicten optreden bij het samenvoegen van branches. Git geeft aan welke bestanden conflicten hebben. Je moet deze conflicten handmatig oplossen en de bestanden opnieuw committen. Dit kan door de conflicterende delen in de bestanden te bewerken en vervolgens het commitproces te herhalen.
-
Vergeten bestanden toe te voegen: Vergeet niet om
git adduit te voeren voordat je commit. Anders worden je wijzigingen niet opgeslagen. Als je per ongeluk een bestand vergeet, kun je het eenvoudig toevoegen en een nieuwe commit maken. -
Oude commits: Als je per ongeluk iets verkeerd commit, kun je de laatste commit ongedaan maken met:
git reset --soft HEAD~1
Dit brengt de wijzigingen terug naar de staging area, zodat je ze opnieuw kunt aanpassen of committen. Als je de laatste commit helemaal wilt verwijderen (en niet wilt behouden), gebruik dan:
git reset --hard HEAD~1
Let op: dit verwijdert de wijzigingen en is niet omkeerbaar.
- Verlies van werk: Zorg ervoor dat je regelmatig commits maakt en je werk push naar een remote repository. Dit voorkomt dat je werk verloren gaat als er iets misgaat met je lokale omgeving.
Handige Git-commando’s
Naast de eerder genoemde commando’s zijn er nog enkele handige Git-commando’s die je kunnen helpen bij het werken met versiebeheer:
- Git status: Toont de huidige status van je repository.
- Git diff: Laat de verschillen zien tussen de huidige versie van bestanden en de laatste commit.
- Git checkout: Hiermee kun je naar een andere branch schakelen of een specifieke commit bekijken.
- Git branch: Toont een lijst van alle beschikbare branches.
- Git stash: Hiermee kun je tijdelijke wijzigingen opslaan zonder ze te committen.
Conclusie
Git is een essentieel hulpmiddel voor elke ontwikkelaar. Het biedt je de mogelijkheid om efficiënt samen te werken en versiebeheer toe te passen in je projecten. In deze handleiding heb je geleerd hoe je Git installeert, configureert en gebruikt. Ook heb je de basisprincipes van branches en samenwerking met anderen verkend.
Blijf oefenen met Git en ontdek de kracht ervan in je ontwikkelingsworkflow. Het kan in het begin overweldigend lijken, maar naarmate je meer ervaring opdoet, zul je de voordelen van Git waarderen. Veel succes met je projecten!
Aanvullende bronnen
- Pro Git boek - Dit boek biedt een uitgebreide gids over Git en is gratis beschikbaar online.
- GitHub Learning Lab - Een interactieve manier om Git en GitHub te leren met praktische oefeningen.
- Git Documentation - De officiële documentatie van Git biedt gedetailleerde informatie over alle functies en commando’s.
Oefeningen
- Maak een nieuw project aan in een Git-repository en voeg minimaal drie verschillende bestanden toe.
- Maak een nieuwe branch aan en voeg een functie toe in deze branch. Merge deze branch terug naar de hoofdbranch.
- Probeer een merge conflict te simuleren door in twee verschillende branches hetzelfde bestand te wijzigen en deze vervolgens samen te voegen. Los het conflict op.
Door deze oefeningen uit te voeren, zul je je vaardigheden in Git verder ontwikkelen en beter voorbereid zijn op het werken met versiebeheer in echte projecten.