Consultants Best Practice: Git-Konfiguration für Multi-Client-Projekte

Wie Consultants ihre Git-Konfiguration professionell für verschiedene Kundenprojekte automatisieren und optimieren.

Kallisto Logo

Volker Valerius

Senior Consultant bei Kallisto Consulting

⏱️ 5 min Lesezeit
GIT Handling in a multi client project

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

  1. Verzeichnisstruktur erstellen:

    mkdir -p ~/devel/github.com/startupflow
    mkdir -p ~/devel/gitlab.securebank.com
    
  2. Konfigurationsdateien anlegen (siehe Code-Beispiele oben)

  3. 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!