Git voor ontwikkelaars: een volledige workflow van init tot deploy
Git is het kloppende hart van moderne softwareontwikkeling. Of u nu een soloproject beheert of in een team werkt, een degelijk begrip van Git is essentieel voor efficiënte versiebeheersing en samenwerking. In dit artikel nemen we u mee door de volledige levenscyclus van een Git-project: van het initialiseren van een repository tot het deployen van uw 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 aan in de huidige map - Bestaande repository clonen:
git clone https://github.com/gebruiker/repository.git
Na het initialiseren is het belangrijk om uw identiteit in Git te configureren:
git config --global user.name "Uw Naam"
git config --global user.email "uw@email.com"
Werken met branches: georganiseerd ontwikkelen
Branches zijn cruciaal in Git-workflows. Ze laten u 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
Codewijzigingen vastleggen
Het Git-workflowproces 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 bekijken.
Samenwerken met Pull/Merge Requests
Voor teamprojecten zijn Pull Requests (GitHub) of Merge Requests (GitLab) essentieel voor codereviews.
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"
Mergeconflicten 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 u de laatste runs inspecteren
GitLab CI/CD:
Definieer een .gitlab-ci.yml bestand in de root van uw 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 kunt u efficiënt werken aan projecten van elke omvang, met vertrouwen in uw versiebeheer en samenwerkingsproces.