Git voor developers: een complete workflow van init tot deploy
```html
Git voor developers: van init tot deploy
Git is het kloppende hart van moderne softwareontwikkeling. Of je nu een soloproject beheert of in een team werkt, een solide begrip van Git is essentieel voor efficiënte versiebeheersing en collaboratie. In dit artikel nemen we je mee door de complete levenscyclus van een Git-project: van het initialiseren van een repository tot het deployen van je code. We richten ons op praktische workflows met zowel standaard Git-commando's als handige tools zoals gh (GitHub CLI) en glab (GitLab CLI).
Git initialiseren: de basis opzetten
Elk Git-project begint met het aanmaken van een repository. Dit kan zowel lokaal als via een platform zoals GitHub of GitLab:
- Lokale repository aanmaken:
git init- Maakt een lege Git-repository in de huidige map - Bestaande repository clonen:
git clone https://github.com/gebruiker/repository.git
Na het initialiseren is het belangrijk om je identiteit in Git te configureren:
git config --global user.name "Je Naam"
git config --global user.email "je@email.com"
Werken met branches: georganiseerd ontwikkelen
Branches zijn cruciaal in Git-workflows. Ze laten je toe om parallel aan features te werken zonder de hoofdcodebase te verstoren.
Basis branch-commando's:
git branch- Toont alle lokale branchesgit branch feature-x- Maakt een nieuwe branch aangit switch feature-x- Schakelt naar de feature-x branchgit switch -c hotfix- Maakt en schakelt naar een nieuwe branch in één commando
Code wijzigingen vastleggen
Het Git workflow proces bestaat uit drie hoofdstappen:
git add bestand.txt- Voegt wijzigingen toe aan de staging areagit commit -m "Beschrijving van wijzigingen"- Legt wijzigingen vastgit push origin branchnaam- Publiceert wijzigingen naar de remote repository
Tip: Gebruik git status regelmatig om het huidige statusoverzicht te zien.
Samenwerken met Pull/Merge Requests
Voor teamprojecten zijn Pull Requests (GitHub) of Merge Requests (GitLab) essentieel voor code reviews.
GitHub CLI (gh) voor Pull Requests:
gh pr create --title "Nieuwe feature" --body "Beschrijving van wijzigingen"
GitLab CLI (glab) voor Merge Requests:
glab mr create --title "Nieuwe feature" --description "Beschrijving van wijzigingen"
Merge conflicts oplossen
Conflicten zijn onvermijdelijk bij teamwerk. Git biedt tools om deze op te lossen:
git diff- Toont verschillen tussen versiesgit mergetool- Start een visuele merge tool- Na conflictoplossing:
git add conflicterend_bestandengit commit
Workflows met GitHub Actions en GitLab CI/CD
Moderne Git-hostingdiensten bieden krachtige CI/CD tools:
GitHub Actions:
gh workflow view - Toont workflows en laat je de laatste runs inspecteren
GitLab CI/CD:
Definieer een .gitlab-ci.yml bestand in de root van je project voor geautomatiseerde pipelines.
Deployen vanuit Git
Git integreert naadloos met moderne deployprocessen:
- Git hooks: Scripts die automatisch draaien bij bepaalde Git-acties
- CI/CD pipelines: Automatische deployment na succesvolle tests
- Directe deployment: Sommige hostingoplossingen laten deployment toe door simpelweg naar een specifieke branch te pushen
Geavanceerde Git-technieken
Voor gevorderde gebruikers biedt Git krachtige tools:
git rebase- Herschrijft commitgeschiedenis voor een schonere tijdlijngit cherry-pick- Selectieve toepassing van specifieke commitsgit bisect- Binair zoeken naar de commit die een bug introduceerde
Conclusie en best practices
Git beheersen is een must voor elke developer. Onthoud deze kernprincipes:
- Commit vaak, in kleine logische eenheden
- Gebruik beschrijvende commitberichten
- Werk in feature branches
- Review code via Pull/Merge Requests
- Automatiseer tests en deployment
Met deze Git-workflow kun je efficiënt werken aan projecten van elke omvang, met vertrouwen in je versiebeheer en collaboratieproces.
```