Git en GitHub-basisbeginselen voor beginners
Git en GitHub-basisbeginselen voor beginners
Dit artikel legt uit hoe u Git en GitHub gebruikt voor versiebeheer, gericht op ontwikkelaars die nog nooit met versiebeheer hebben gewerkt.
Vereisten
- Git 2.40 of hoger (controleer met `git --version`) - Een GitHub-account (gratis op github.com) - Terminal of opdrachtprompt (macOS: Terminal, Windows: PowerShell, Linux: elke shell)
Stappen
1. Installeer Git
Download Git van git-scm.com of gebruik uw pakketbeheerder:
Ubuntu/Debian
sudo apt update && sudo apt install git</p><p>macOS (via Homebrew)
brew install git</p><p>Windows: download de installatie van git-scm.comControleer de installatie:
git --version
2. Configureer uw identiteit
Git koppelt elke commit aan een naam en e-mailadres. Dit doet u één keer:
git config --global user.name "Uw Naam"
git config --global user.email "uw@email.com"3. Maak een repository aan
Een repository is de map waarin Git uw bestanden en hun geschiedenis bijhoudt. Navigeer naar uw projectmap en initialiseer:
cd /pad/naar/uw/project
git initDit maakt een verborgen `.git`-map aan in uw project. Git volgt nu alle bestanden in deze map.
4. Voeg bestanden toe aan de staging area
Git werkt in drie fasen: working directory, staging area en repository. Eerst voegt u bestanden toe aan de staging area:
git add .
De punt voegt alle bestanden in de huidige map toe. Wilt u één specifiek bestand toevoegen, gebruik dan:
git add bestandsnaam.txt
5. Maak uw eerste commit
Een commit is een momentopname van uw bestanden. Hij slaat de staat van de staging area op in de repository-geschiedenis:
git commit -m "Eerste commit"
De `-m` vlag voegt een bericht toe. Schrijf een kort, duidelijk bericht dat beschrijft wat u hebt gewijzigd.
6. Maak een repository op GitHub
GitHub is een cloudplatform dat Git-repositories host. Log in op github.com, klik op New repository, geef het een naam en laat alle opties op de standaardinstelling staan. Kopieer de URL van de repository (bijvoorbeeld `https://github.com/gebruikersnaam/repositorynaam.git`).
7. Verbind uw lokale repository met GitHub
Uw lokale repository is nog niet gekoppeld aan GitHub. Voeg de remote toe:
git remote add origin https://github.com/gebruikersnaam/repositorynaam.git
`origin` is de standaardnaam voor uw remote repository. Push nu uw lokale commits naar GitHub:
git push -u origin main
De `-u` vlag koppelt uw lokale `main`-branch aan de remote `main`-branch, zodat u voortaan alleen `git push` hoeft te typen.
8. Werk verder met branches
Branches laten u werken aan nieuwe functionaliteiten zonder de stabiele code te breken. Maak een nieuwe branch en schakel ernaar:
git checkout -b feature/nieuwe-functionaliteit
U zit nu op een aparte branch. Wijzigingen die u hier commit, raken de `main`-branch niet. Wanneer u klaar bent, merge u de branch terug:
git checkout main
git merge feature/nieuwe-functionaliteitVerificatie
Controleer of alles werkt:
git status
git log --oneline`git status` toont de huidige staat van uw working directory. `git log --oneline` toont een lijst van al uw commits. Als u commits ziet met uw naam en e-mailadres, werkt Git correct. Op GitHub ziet u dezelfde commits onder de tab Commits van uw repository.
Veelgestelde problemen
1. `git push` vraagt om een wachtwoord
Dit gebeurt wanneer u HTTPS gebruikt en geen credential helper hebt ingesteld. Los het op door SSH te gebruiken:
git remote set-url origin git@github.com:gebruikersnaam/repositorynaam.git
Genereer eerst een SSH-sleutel met `ssh-keygen -t ed25519 -C "uw@email.com"` en voeg de publieke sleutel toe via GitHub → Settings → SSH and GPG keys.
2. `git merge` geeft een conflict
Conflicten ontstaan wanneer twee branches dezelfde regel in hetzelfde bestand anders hebben gewijzigd. Git markeert conflicten met `<<<<<<<` en `>>>>>>>` in het bestand. Bewerk het bestand handmatig, verwijder de markeringen en voer dan uit:
git add .
git commit -m "Merge conflict opgelost"3. U hebt per ongeluk een bestand gecommit dat niet mee moest
Verwijder het bestand uit de tracking maar houd het lokaal:
git rm --cached bestandsnaam.txt
git commit -m "Verwijder bestand uit tracking"Voeg daarna het bestand toe aan `.gitignore` zodat Git het in de toekomst negeert.
Git en GitHub geven u volledige controle over elke wijziging in uw codebase, en de mogelijkheid om samen te werken zonder elkaars werk te overschrijven — maar de eerste keer dat u een commit terugdraait of een branch merge, merkt u pas hoe diep die controle gaat.