Einleitung
Git ist das Rückgrat jedes Entwickler-Workflows. Trotzdem verbringen wir erstaunlich viel Zeit mit repetitiven Git-Aufgaben: Commit Messages formulieren, Merge-Konflikte lösen, Release Notes schreiben, Git-History analysieren. KI kann jeden dieser Schritte beschleunigen.
In diesem Artikel zeige ich dir 10 Prompts und Workflows, die deinen Git-Alltag mit KI optimieren.
Inhaltsverzeichnis
- AI-generierte Commit Messages
- Merge-Konflikte mit AI lösen
- Branch-Strategie optimieren
- Release Notes automatisieren
- Git History analysieren
- PR-Beschreibungen generieren
- Git Hooks mit AI
- Rebase & Squash Strategien
- Gitignore & Git-Config optimieren
- Monorepo-Strategien
- Tools: AI-Git-Integrationen
- FAQ
1. AI-generierte Commit Messages
Ebenfalls relevant sind die praktischen Anwendungsbeispiele.
Die häufigste Anwendung. Statt „fix stuff“ oder „update“ bekommst du professionelle Conventional Commits.
Prompt: Commit Message aus Diff
Im Grunde vereinfacht dieser Ansatz den gesamten Workflow erheblich.
Schreibe eine Conventional Commit Message für diesen Diff:
```diff
[git diff --staged einfügen]
```
Regeln:
- Format: type(scope): description
- Types: feat, fix, refactor, docs, test, chore, perf, ci
- Scope: Betroffenes Modul/Feature
- Description: Imperativ, max. 72 Zeichen
- Body: Was und warum (nicht wie), max. 3 Zeilen
- Footer: BREAKING CHANGE falls applicable
Beispiel:
feat(auth): add JWT refresh token rotation
Implement automatic token rotation on refresh to prevent
token reuse attacks. Old refresh tokens are invalidated
after single use.
BREAKING CHANGE: /auth/refresh now returns new refresh token in httpOnly cookie instead of response body
Natürlich solltest du den generierten Code vor dem Einsatz testen.
Pro-Tipp: Automatisierung
Weiterhin ist es wichtig, die Grundlagen zu verstehen.
In Cursor oder VS Code mit Copilot kannst du in der Source Control View einfach „Commit Message generieren“ klicken. Für die CLI: git diff --staged | pbcopy und dann in Claude/ChatGPT einfügen.
2. Merge-Konflikte mit AI lösen
Im Folgenden findest du alle wichtigen Details dazu.
Löse diesen Git Merge-Konflikt:
Datei: [Dateiname]
Conflict:
```
<<<<<<< HEAD (main branch)
[Code von main]
=======
[Code von feature branch]
>>>>>>> feature/user-auth
```
Kontext:
- Main Branch: [Was wurde dort geändert und warum]
- Feature Branch: [Was wurde dort geändert und warum]
Liefere:
1. Den korrekt gemergten Code (beide Änderungen integriert)
2. Erklärung der Merge-Entscheidung
3. Potenzielle Seiteneffekte des Merge
4. Tests die nach dem Merge laufen sollten
Im Grunde funktioniert dieser Ansatz mit allen gängigen AI-Tools.
Pro-Tipp: Bei größeren Konflikten gib der KI die gesamte Datei (beide Versionen) statt nur den Conflict-Marker. So versteht sie den Gesamtkontext besser.
3. Branch-Strategie optimieren
Dabei spielen mehrere Faktoren eine wichtige Rolle.
Empfehle eine Git-Branch-Strategie für mein Projekt:
Team: [z.B. "6 Entwickler, 2 Frontend, 3 Backend, 1 DevOps"]
Release-Zyklus: [z.B. "Continuous Deployment, mehrmals täglich"]
Umgebungen: [z.B. "Dev, Staging, Production"]
Aktuelle Probleme: [z.B. "Lange Feature-Branches führen zu Merge-Hölle"]
Vergleiche:
1. GitHub Flow (main + feature branches)
2. GitFlow (main, develop, feature, release, hotfix)
3. Trunk-Based Development (main + short-lived branches)
Empfehle die beste Strategie mit:
- Branch-Naming-Convention
- Merge-Strategie (merge commit vs squash vs rebase)
- Protection Rules für main
- CI/CD-Integration pro Branch-Typ
Grundsätzlich kannst du diesen Prompt an deine Bedürfnisse anpassen.
4. Release Notes automatisieren
Tatsächlich ist dieser Bereich besonders wichtig für Entwickler.
Generiere Release Notes aus diesen Commits:
```
[git log --oneline v1.2.0..HEAD einfügen]
```
Format: Keep a Changelog (keepachangelog.com)
Version: [z.B. "1.3.0"]
Datum: [Datum]
Kategorien:
- 🚀 Added: Neue Features
- 🔄 Changed: Geänderte Funktionalität
- 🗑️ Deprecated: Bald entfernte Features
- ❌ Removed: Entfernte Features
- 🐛 Fixed: Bug-Fixes
- 🔒 Security: Sicherheits-Updates
Schreibe für Endbenutzer verständlich (nicht für Entwickler).
Fasse zusammengehörige Commits zusammen.
5. Git History analysieren
Deshalb lohnt es sich, dieses Thema genauer zu betrachten.
Analysiere diese Git-History und gib mir Insights:
```
[git log --stat --oneline -50 einfügen]
```
Analyse:
1. Welche Dateien/Module werden am häufigsten geändert? (Hotspots)
2. Gibt es Dateien die immer zusammen geändert werden? (Coupling)
3. Wie groß sind die Commits im Schnitt? (Zu groß = Risiko)
4. Commit-Frequency pro Tag/Woche
5. Anteil von Fix-Commits vs Feature-Commits (Stabilitäts-Indikator)
6. Muster die auf technische Schulden hindeuten
Somit sparst du Zeit und erhältst qualitativ hochwertigeren Output.
6. PR-Beschreibungen generieren
Allerdings gibt es einige wichtige Unterschiede zu beachten.
Generiere eine PR-Beschreibung für diesen Diff:
```diff
[git diff main...feature-branch einfügen]
```
Format:
## Beschreibung
[Was wurde geändert und warum, 2-3 Sätze]
## Änderungen
- [Bullet Points der wichtigsten Änderungen]
## Typ
- [ ] Feature
- [ ] Bug Fix
- [ ] Refactoring
- [ ] Docs
- [ ] Tests
## Testing
- [ ] Unit Tests hinzugefügt/aktualisiert
- [ ] Manuell getestet: [Schritte]
## Screenshots
[Falls UI-Änderungen]
## Breaking Changes
[Falls vorhanden]
## Related Issues
[Ticket-Nummern]
Dementsprechend ist eine manuelle Überprüfung empfehlenswert.
7. Git Hooks mit AI
Außerdem gibt es hilfreiche Tools, die dich dabei unterstützen.
Erstelle Git Hooks für mein Projekt:
Tech Stack: [z.B. "Node.js, TypeScript, ESLint, Prettier, Jest"]
Hook Manager: [Husky / lefthook / simple-git-hooks]
Erstelle:
1. pre-commit:
- Lint-Staged (nur geänderte Dateien)
- ESLint --fix
- Prettier --write
- TypeScript Typ-Check (tsc --noEmit)
2. commit-msg:
- Conventional Commit Format validieren
- Ticket-Nummer in Branch-Name → automatisch in Commit Message
3. pre-push:
- Unit Tests laufen lassen
- Build prüfen
4. prepare-commit-msg:
- Template mit Ticket-Nummer aus Branch-Name
Liefere die komplette Setup-Anleitung + Hook-Dateien.
Dabei zeigt dieses Beispiel den grundlegenden Ansatz.
8. Rebase & Squash Strategien
Dennoch solltest du einige Besonderheiten beachten.
Hilf mir, diese Commit-History aufzuräumen (Interactive Rebase):
```
[git log --oneline -20 einfügen]
```
Erstelle den Rebase-Plan:
1. Welche Commits sollen gesquasht werden? (zusammengehörige Änderungen)
2. Welche Commits sollen umformuliert werden? (schlechte Messages)
3. Welche Commits sollen umgeordnet werden? (logische Reihenfolge)
4. Gibt es Commits die aufgeteilt werden sollten?
Liefere:
- Den `git rebase -i` Plan (pick/squash/reword/edit)
- Die neuen Commit Messages
- Warnung falls Rebase Probleme verursachen könnte (shared branches)
9. Gitignore & Git-Config optimieren
Dementsprechend solltest du die folgenden Aspekte kennen.
Erstelle eine optimale .gitignore für mein Projekt:
Tech Stack: [z.B. "Next.js, TypeScript, Prisma, Docker, VS Code"]
OS: [Windows / macOS / Linux / Alle]
Zusätzlich:
1. Erkläre für jede Regel, warum sie da ist
2. Prüfe: Gibt es Dateien die oft fälschlich committed werden?
3. Erstelle eine git-config Empfehlung:
- core.autocrlf (Windows vs. Mac)
- pull.rebase
- merge.conflictstyle
- diff.algorithm
- alias-Vorschläge für häufige Befehle
Darüber hinaus lässt sich das Beispiel leicht erweitern.
10. Monorepo-Strategien
Folglich profitierst du von einem besseren Verständnis dieser Konzepte.
Ich möchte mein Projekt als Monorepo strukturieren:
Aktuell: [Separate Repos für Frontend, Backend, Shared-Types, etc.]
Packages: [z.B. "@app/web, @app/api, @app/shared, @app/ui-lib"]
Erstelle:
1. Empfehlung: Turborepo vs Nx vs pnpm Workspaces
2. Ordnerstruktur für das Monorepo
3. Package-Abhängigkeiten (welches Package nutzt welches)
4. Build-Reihenfolge (Dependency-Graph)
5. CI/CD: Nur betroffene Packages bauen/testen
6. Git-Strategie für Monorepo (Sparse Checkout, CODEOWNERS)
7. Migration-Plan: Schritt für Schritt von Multi-Repo zu Monorepo
Weiterhin ist es ratsam, die Ergebnisse immer kritisch zu prüfen.
Tools: AI-Git-Integrationen
Somit kannst du direkt mit der Umsetzung beginnen.
| Tool | Funktion | Preis |
|---|---|---|
| GitHub Copilot | Commit Messages in VS Code generieren | $10/Mo |
| Cursor | Commit Messages + Diff-Analyse | $20/Mo |
| aicommits | CLI Tool für automatische Commit Messages | Kostenlos (API-Kosten) |
| CodeRabbit | Automatische PR-Reviews auf GitHub | $12/User/Mo |
| Graphite | Stacked PRs mit AI-Beschreibungen | Kostenlos (Open Source) |
| GitLens (VS Code) | AI-Erklärungen für Git Blame/History | Kostenlos (Pro: $9/Mo) |
FAQ
Soll ich jede Commit Message von der KI schreiben lassen?
Vor allem für den praktischen Einsatz sind diese Informationen wertvoll.
Für Routine-Commits (Refactoring, kleine Fixes): Ja, spart Zeit. Für wichtige Feature-Commits: KI als Entwurf, dann manuell verfeinern. Die Message muss immer korrekt beschreiben, was geändert wurde.
Merge oder Rebase?
Grundsätzlich gibt es dabei einige Punkte zu beachten.
Feature-Branches: Rebase auf main vor dem Merge (saubere History). Main Branch: Merge Commits, damit die History nachvollziehbar bleibt. Nie rebasen was schon gepusht und geshared ist.
Wie gehe ich mit Secrets in der Git-History um?
Insbesondere für den Einstieg sind die folgenden Informationen hilfreich.
Sofort rotieren (neuen Key generieren). Dann: git filter-branch oder BFG Repo Cleaner um die History zu bereinigen. Die KI kann dir den exakten Befehl generieren. Prävention: git-secrets oder pre-commit Hooks.
Welche Branch-Naming-Convention?
Natürlich gibt es dabei verschiedene Herangehensweisen.
Standard: type/ticket-short-description. Beispiel: feat/AUTH-123-jwt-refresh, fix/SHOP-456-cart-total. Lasse die KI deine Convention in einem pre-commit-Hook validieren.
Verwandte Artikel:
- AI Code Review Workflow
- Darüber hinaus Prompt Engineering für Entwickler
- Die besten AI Coding Tools 2026
Zuletzt aktualisiert: März 2026