Consultants Best Practice: Git-Konfiguration für Multi-Client-Projekte
Wie Consultants ihre Git-Konfiguration professionell für verschiedene Kundenprojekte automatisieren und optimieren.
Consultants Best Practice: Git-Konfiguration für Multi-Client-Projekte
Als Consultant jongliert man täglich zwischen verschiedenen Kundenprojekten - jeder mit eigenen Coding-Standards, Git-Strategien und Compliance-Anforderungen. Manuell die Git-Konfiguration zu wechseln ist fehleranfällig und kostet wertvolle Zeit.
Die Lösung? Eine intelligente, automatisierte Git-Konfiguration, die sich je nach Projekt selbst anpasst.
Das Problem in der Praxis
Stellen Sie sich vor: Morgens arbeiten Sie an einem agilen Startup-Projekt mit schnellen Merge-Commits, nachmittags wechseln Sie zu einem Enterprise-Kunden mit strikter Rebase-Politik und Compliance-Checks. Ohne automatisierte Konfiguration passiert schnell folgendes:
- Falsche Commit-Metadaten: Ihr privater GitHub-Username landet im Enterprise-Repository
- Inkonsistente Code-Qualität: Pre-commit Hooks fehlen bei einem Kunden
- Regelverstoß: Ein Merge-Commit rutscht ins rebase-only Repository
Zwei Welten, eine Lösung
StartupFlow GmbH - Der Agile Kunde
Umgebung: ~/devel/github.com/startupflow/
Strategie: Merge-Commits erlaubt, schnelle Iterationen
Tools: GitHub, ESLint, Prettier
SecureBank AG - Der Enterprise-Kunde
Umgebung: ~/devel/gitlab.securebank.com/
Strategie: Nur Rebase, lineare History
Tools: GitLab, SonarLint, detaillierte Commit-Messages
Die Lösung: Conditional Git Configuration
Mit Git's Conditional Includes konfiguriert sich Ihr System automatisch je nach Projektpfad:
# Globale ~/.gitconfig erweitern
[includeIf "gitdir:~/devel/github.com/startupflow/"]
path = ~/.gitconfig-startupflow
[includeIf "gitdir:~/devel/gitlab.securebank.com/"]
path = ~/.gitconfig-securebank
StartupFlow-Konfiguration (~/.gitconfig-startupflow)
[user]
name = Volker Valerius
email = v.valerius@startupflow-project.com
[core]
hooksPath = ~/.git-hooks/startupflow
[pull]
rebase = false # Merge-Commits erlaubt
SecureBank-Konfiguration (~/.gitconfig-securebank)
[user]
name = Volker Valerius
email = consultant.valerius@securebank-project.com
[core]
hooksPath = ~/.git-hooks/securebank
[pull]
rebase = true # Nur Rebase erlaubt
[commit]
template = ~/.gitmessage-securebank
Pre-Commit Hooks für Code-Qualität
Pro-Tipp: Verschiedene Kunden, verschiedene Code-Standards - automatisieren Sie auch das!
StartupFlow Hook (~/.git-hooks/startupflow/pre-commit):
#!/bin/bash
# Schneller ESLint + Prettier Check
npx eslint . --fix
npx prettier --write .
SecureBank Hook (~/.git-hooks/securebank/pre-commit):
#!/bin/bash
# Strenge Checks + Security Scan
npx eslint . --max-warnings 0
npm run security-audit
sonar-scanner || exit 1
Setup in 3 Schritten
-
Verzeichnisstruktur erstellen:
mkdir -p ~/devel/github.com/startupflow mkdir -p ~/devel/gitlab.securebank.com -
Konfigurationsdateien anlegen (siehe Code-Beispiele oben)
-
Hooks ausführbar machen:
chmod +x ~/.git-hooks/*/pre-commit
Das Ergebnis
Automatisch die richtige Konfiguration, ohne manuellen Aufwand.Wechseln Sie zwischen Projekten, und Git verwendet automatisch:
- Die korrekte E-Mail-Adresse
- Den passenden Rebase/Merge-Modus
- Die kundenspezifischen Code-Checks
- Die richtige Commit-Message-Vorlage
Fazit
Professional Consulting bedeutet, sich nahtlos an verschiedene Kundenumgebungen anzupassen. Mit einer cleveren Git-Konfiguration arbeiten Sie effizienter, vermeiden Fehler und können sich auf das konzentrieren, was wirklich zählt: hervorragende Beratungsleistung.
Arbeiten Sie auch mit mehreren Kunden parallel? Teilen Sie Ihre Git-Best-Practices mit uns - wir freuen uns auf den Austausch!
