Skip to main content
Inhaltsverzeichnis
Einsteiger12 Min.

Git-Arbeit mit Claude Code: Ein Leitfaden für Anfänger

Ein umfassender praktischer Leitfaden zur Integration von Git und Claude Code: intelligentes Staging, automatische Commit-Beschreibungen, Auflösung von Merge-Konflikten, GitHub CLI und Sicherheitsstandards.

Veröffentlicht:
FÜR KI-AGENTChatGPTClaude

1. Was ist Git-Integration in Claude Code

Claude Code verfügt über eine tiefgreifende native Integration mit dem Versionskontrollsystem Git. Im Gegensatz zu herkömmlichen KI-Chats, bei denen Entwickler gezwungen sind, die Ausgaben von Befehlen wie git diff oder git status manuell zu kopieren, interagiert der Terminal-Agent Claude Code eigenständig mit Ihrem lokalen Repository über seinen eingebauten Befehlsausführungstoolkit.

Der Agent analysiert die Struktur der Änderungen, verfolgt die Projektgeschichte, hält sich an den vereinbarten Commit-Nachrichtenstil und übernimmt routinemäßige Operationen: das Erstellen von Branches, selektives Staging von Dateien, sicheres Rebasing und sogar das Formulieren umfassender Beschreibungen für Pull Requests.

mermaid
flowchart TD A["Запит розробника:<br><i>'Commit current changes'</i>"] --> B["Claude Code CLI"] B --> C["git status<br><i>(Перевірка змінених файлів)</i>"] B --> D["git diff<br><i>(Аналіз змісту та логіки)</i>"] B --> E["git log -n 5<br><i>(Визначення конвенції комітів)</i>"] C & D & E --> F["Інтелектуальний стейджинг<br><i>(Вибіркові git add &lt;file&gt;)</i>"] F --> G["Генерація опису коміту<br><i>(feat/fix згідно з контекстом)</i>"] G --> H{"Підтвердження користувача"} H -->|Схвалено| I["Виконання git commit"] H -->|Коригування| J["Оновлення повідомлення"]

Vorteile der Nutzung von Git über Claude Code

KriteriumTraditionelles manuelles GitArbeit über Claude Code
ÄnderungsanalyseManuelle Überprüfung jeder Datei via git diffAutomatisches Verständnis der Semantik und Zusammenhänge zwischen Dateien
Commit-BeschreibungOft nichtssagende Phrasen wie "update", "fix bug"Strukturierte Nachrichten nach dem Conventional Commits Standard
StagingRisiko, versehentlich irrelevante oder temporäre Dateien via git add . hinzuzufügenPräzises Staging nur relevanter Code-Dateien
Merge-KonflikteKomplexe manuelle Zuordnung der Marker <<<<<<<Intelligente Analyse der Geschäftslogik beider Branches
PR-ErstellungManuelles Schreiben des Titels, der Beschreibung und der Test-ChecklisteAuto-Generierung einer detaillierten Beschreibung über die Anbindung an gh CLI
Hinweis

Claude Code führt jeden Befehl im isolierten Kontext Ihres lokalen Repositories aus und fragt immer um Bestätigung, bevor Aktionen ausgeführt werden, die Dateien oder die Branch-Historie modifizieren.


2. Commits erstellen: intelligentes Staging & Beschreibung

Der häufigste tägliche Arbeitsablauf eines Entwicklers ist die Fixierung von Änderungen im Repository. Anstatt drei bis vier Terminal-Befehle nacheinander aufzurufen, können Sie Claude Code mit einem einfachen Satz in natürlicher Sprache ansprechen:

bash
Commit these changes with a descriptive message

Was passiert unter der Haube

Wenn Claude die Anweisung erhält, einen Commit zu erstellen, führt er eine sequenzielle Diagnose durch:

  1. Diagnose des Working Trees: Ruft git status auf, um eine Liste der geänderten, gelöschten und neuen ungetrackten Dateien zu erhalten.
  2. Semantische Code-Analyse: Startet git diff, um die Zeilen zu untersuchen, die bearbeitet wurden, und trennt dabei Geschäftslogik von Formatierungsänderungen.
  3. Studium der Repository-Konventionen: Prüft git log -n 5, um herauszufinden, wie Commits in Ihrem Team benannt werden (z. B. feat(auth): ... oder Add auth module).
  4. Präzises Staging: Fügt nur solche Dateien zum Git-Index hinzu, die sich auf die aktuelle Aufgabe beziehen, und überspringt Konfigurations- oder Secret-Dateien.
  5. Formulierung der Nachricht: Generiert eine prägnante Überschrift und eine inhaltliche Beschreibung, die Ursachen und Auswirkungen der Änderungen darlegt.
Tipp

Wenn Sie nur eine bestimmte Datei oder einen Teil der Änderungen fixieren möchten, geben Sie dies direkt im Prompt an: Commit only the changes in src/components/Header.tsx with an appropriate message.


3. Arbeit mit Branches & Kontextwechsel

Die Isolation von Code in separaten Branches ist eine fundamentale Regel der Teamentwicklung. Claude Code ermöglicht es Ihnen, gleichzeitig einen Branch zu erstellen und mit der Implementierung der Funktionalität zu beginnen, ohne ständig zwischen Terminal und Editor hin- und herwechseln zu müssen.

Branches erstellen & wechseln

bash
# Створити нову гілку та перейти на неї Create a new branch named feature/instant-search and switch to it

Claude führt automatisch den Befehl git checkout -b feature/instant-search (oder git switch -c) aus.

Kombination von Branch-Erstellung und Feature-Implementierung

Die größte Effizienz wird erreicht, wenn Sie die Absicht, einen Branch zu erstellen, mit der Formulierung der Engineering-Aufgabe kombinieren:

bash
Create a branch called fix/email-validation, then fix the regex check in the signup form and write a test for it

Gängige Prefixe für Branches

  • feature/ oder feat/ – neue Funktionalität oder Komponente (z. B. feature/stripe-payments).
  • fix/ oder bugfix/ – Fehlerbehebung (z. B. fix/oauth-redirect).
  • refactor/ – Optimierung der Code-Struktur ohne Verhaltensänderung (z. B. refactor/user-service).
  • chore/ – Aktualisierung von Abhängigkeiten, CI/CD-Konfigurationen oder Dokumentation (z. B. chore/upgrade-nextjs-15).

4. Lösung von Merge-Konflikten

Merge-Konflikte entstehen, wenn derselbe Code-Abschnitt in zwei verschiedenen Branches modifiziert wurde. Die manuelle Lösung solcher Situationen führt oft zum versehentlichen Löschen nützlichen Codes oder zu Syntaxfehlern.

Claude Code analysiert beide Seiten des Konflikts, versteht die Absicht des Autors in jedem Branch und integriert die Änderungen, ohne Funktionalität zu verlieren.

Schritt-für-Schritt-Algorithmus zur Konfliktlösung über Claude

  1. Starten Sie den Merge- oder Rebase-Prozess im Terminal:

    bash
    git merge origin/main # або git rebase main
  2. Falls Konfliktmarker erscheinen, übergeben Sie die Kontrolle an Claude Code:

    bash
    I have merge conflicts after rebasing on main. Please inspect each conflicting file, analyze both sides of the changes, and resolve them cleanly.
  3. Analyse der Marker: Claude liest die Marker <<<<<<< HEAD, ======= und >>>>>>> und formuliert anschließend eine synthetisierte Code-Variante.

  4. Verifikation der Kompilierung: Nach dem Entfernen der Marker startet der Agent eine Typüberprüfung (tsc --noEmit) oder Tests (npm test), um die Funktionsfähigkeit der Lösung sicherzustellen.

  5. Staging der gelösten Dateien: Der Agent führt git add <resolved-files> aus und bereitet den finalen Schritt zur Abschluss des Merges vor.

typescript
// Приклад конфлікту у файлі конфігурації: <<<<<<< HEAD export const API_TIMEOUT = 10000; // Збільшено таймаут для повільних мереж у гілці фічі ======= export const API_TIMEOUT = 8000; // Оновлений стандарт бекенду з гілки main export const RETRY_ATTEMPTS = 3; // Нове поле, додане колегою у main >>>>>>> origin/main

Claude schlägt eine optimale konsistente Lösung vor: Beibehaltung des erhöhten Timeouts 10000 aus Ihrem Branch und gleichzeitiges Hinzufügen der neuen Konstante RETRY_ATTEMPTS = 3 aus dem main-Branch.


5. Cherry-pick, Rebase & Übertragen von Commits

Manchmal besteht die Notwendigkeit, einen einzelnen Patch oder eine kritische Fehlerbehebung in einen Release-Branch zu übertragen, ohne die gesamte Entwicklungshistorie mitzunehmen. Dafür wird der Mechanismus cherry-pick verwendet.

Übertragen eines einzelnen Commits (Cherry-pick)

bash
Cherry-pick commit a7b9c1d from branch feature/cart onto release/v1.2.0

Falls während der Übertragung Inkonsistenzen in der Codebasis auftreten, lokalisiert Claude automatisch die Diffs, korrigiert Importpfade oder Variablen und bietet eine saubere Lösung an.

Intelligentes Backporting

In großen Projekten mit mehreren stabilen Versionen ist Backporting ein Routinevorgang. Sie können Claude den gesamten Komplex der Aktionen delegieren:

bash
Backport the security fix from commit 3f8a92 to the legacy-support branch. Verify that existing legacy tests still pass and commit the result.

Rebase vs. Merge: Wann was wählen?

OperationWann verwendenVorteileWas macht Claude
git rebase mainBeim Aktualisieren eines lokalen Branches mit frischen Änderungen aus mainLineare und saubere Commit-Historie ohne unnötige Merge-CommitsPrüft jeden Commit einzeln, behebt triviale Konflikte automatisch
git merge mainBeim Mergen eines abgeschlossenen Feature-Branches in den gemeinsamen Release-BranchBewahrt die genaue chronologische Reihenfolge der EntwicklungErstellt einen einzigen Merge-Commit mit einer erschöpfenden Liste der zusammengeführten Änderungen

6. Verwaltung temporärer Änderungen über Git Stash

Wenn Sie dringend zu einem kritischen Bugfix wechseln oder die Funktion eines anderen Branches testen müssen, aber die aktuelle Arbeit noch nicht commit-reif ist, kommt git stash ins Spiel.

Claude Code kann mehrstufige Sequenzen von Operationen mit dem Stash für unfertige Änderungen ausführen:

bash
Stash my current changes with a label 'wip-checkout', switch to main, pull latest changes, and report back

Wiederherstellung des gespeicherten Zustands

Nach Abschluss der Prüfung oder des dringenden Fixes stellen Sie Ihre Arbeitsergebnisse wieder her:

bash
Switch back to feature/checkout, pop the stash 'wip-checkout', and resolve any conflicts if the base changed
Tipp

Dank semantischer Analyse prüft Claude automatisch, ob Dateien während der Aktualisierung des Basis-Branches gelöscht wurden, und wendet die gespeicherten Änderungen korrekt an.


7. Erstellen von Pull Requests & Integration mit GitHub CLI (gh)

Wenn das offizielle Utility GitHub CLI (gh) in Ihrem System installiert ist, verwandelt sich Claude Code in einen vollwertigen Assistenten für die Erstellung und Begutachtung von Pull Requests.

Automatische PR-Gestaltung über Claude

Anstatt das Formular im Browser manuell auszufüllen, geben Sie ein:

bash
Push current branch to origin and create a pull request with gh CLI. Include summary, list of changes, and testing instructions.

Beispiel eines generierten Pull Requests

Claude erstellt automatisch ein Markdown-Template hoher Qualität:

markdown
## Summary This PR implements user session invalidation on password reset to prevent unauthorized access from stolen legacy tokens. ## Changes - Add `revokeAllUserSessions` service in `src/services/auth.ts` - Update password reset controller to call invalidation hook - Add Redis blacklist mechanism for active JWT tokens - Cover revocation flow with integration tests in `auth.test.ts` ## Testing Instructions 1. Login from two different browsers (simulate active sessions) 2. Trigger "Forgot Password" flow in Browser A 3. Verify that Browser B gets redirected to `/login` on next API call 4. Run test suite: `npm run test:auth` Fixes #284
Wichtig

Stellen Sie sicher, dass Sie im GitHub CLI autorisiert sind (überprüfen mit gh auth status), bevor Sie Merge-Anfragen erstellen.


8. Eingebaute Sicherheitsregeln & Schutzmechanismen

Git ist ein mächtiges Tool, aber sorgloser Umgang mit bestimmten Flags kann zu unwiederbringlichem Codeverlust oder Überschreiben der gemeinsamen Historie führen. Claude Code verfügt über eingebaute Schutzregeln gegen solche Fehler.

mermaid
flowchart LR subgraph Небезпечні_дії["Заблоковано без прямої команди"] D1["git push --force в main"] D2["git add -A / git add ."] D3["git commit --amend (чужі коміти)"] D4["git commit --no-verify"] end subgraph Безпечні_альтернативи["Стандарт Claude Code"] S1["Звичайний push або новий коміт"] S2["Точковий стейджинг окремих файлів"] S3["Створення нового фіксуючого коміту"] S4["Виправлення помилок лінтера/тестів"] end D1 -.-> S1 D2 -.-> S2 D3 -.-> S3 D4 -.-> S4

Die vier goldenen Sicherheitsregeln von Claude Code

  1. Verbot von destruktivem Force Push: Claude führt niemals git push --force oder -f auf geschützte Branches (main, master, release) aus, ohne Ihr mehrfaches explizites Einverständnis.
  2. Gezieltes Staging: Der Agent vermeidet blinde Befehle wie git add . oder git add -A. Jede Datei wird über ihren exakten Pfad gestaged, was verhindert, dass .env-Dateien, Verschlüsselungsschlüssel oder lokale Datenbank-Dumps versehentlich hochgeladen werden.
  3. Wahrung der Historie-Integrität: Der Agent bevorzugt das Erstellen eines neuen Korrektur-Commits statt der Modifikation der Historie via git commit --amend, insbesondere wenn Änderungen bereits auf den Remote-Server gepusht wurden.
  4. Respekt vor Pre-commit Hooks: Claude nutzt nicht das Flag --no-verify, um Prüfungen von Husky, ESLint oder Prettier zu umgehen. Wenn ein Hook den Commit blockiert, findet der Agent die Ursache des Linter- oder Test-Fehlers, behebt sie und wiederholt den Versuch regelkonform.
Warnung

Fordern Sie die KI niemals auf, ungeprüfte Befehle wie git reset --hard HEAD~N auf gemeinsamen Branches auszuführen. Nutzen Sie stets git stash oder erstellen Sie einen temporären Backup-Branch vor umfangreichen Historienänderungen.


9. Praktischer Workshop: Vollzyklus vom Branch bis zum PR

Versuchen wir, den gesamten Entwicklungszyklus in einem realen Projekt durchzuspielen – von der Aufgabenannahme bis zum Senden des fertigen Codes zum Review über Claude Code.

Schritt 1. Statusprüfung & Erstellen des Arbeits-Branches

Öffnen Sie das Terminal in Ihrem Repository, starten Sie claude und geben Sie die Aufgabe:

bash
Check git status, pull latest changes from main, and create a feature branch called feature/user-avatar

Claude stellt sicher, dass das Arbeitsverzeichnis sauber ist, zieht frische Updates und erstellt einen neuen lokalen Branch.

Schritt 2. Implementierung der Aufgabe

Weisen Sie dem Agenten die Aufgabe zu:

bash
Add an Avatar component in src/components/Avatar.tsx that renders a user image with fallback initials if the image URL is missing.

Schritt 3. Prüfung & gezielter Commit

Nach dem Erstellen der Datei geben Sie den Befehl, das Ergebnis zu fixieren:

bash
Review what was created, make sure tests pass, and commit only the avatar component files with a clear conventional commit message

Claude überprüft die Funktionsfähigkeit, fügt src/components/Avatar.tsx (zusammen mit der Testdatei) zum Index hinzu und formuliert den Commit:

text
feat(ui): add Avatar component with initials fallback - Render user image with rounded profile styling - Fallback to calculated two-letter initials on missing src or error - Add unit test coverage for invalid image source handling

Schritt 4. Push & Öffnen des Pull Requests

Schließen Sie den Arbeitszyklus mit dem finalen Prompt ab:

bash
Push this branch to GitHub and create a draft PR using gh CLI describing the changes

10. Schnelle Selbstüberprüfung & abschließende Checkliste

Überprüfen Sie Ihren Wissensstand anhand eines kurzen Tests.

Kontrollfragen

Tipp

1. Warum staged Claude Code Dateien über ihre exakten Namen statt git add . auszuführen?

Antwort: Um zu verhindern, dass vertrauliche Daten (.env), temporäre Systemdateien (.DS_Store) oder lokale Builds, die möglicherweise nicht in .gitignore erfasst sind, versehentlich zum Repository hinzugefügt werden.

Tipp

2. Wie entscheidet Claude Code, in welchem Format die Commit-Nachricht geschrieben wird?

Antwort: Der Agent analysiert automatisch die letzten Commits des Repositories über git log und passt sich dem bestehenden Team-Stil an (Conventional Commits, Jira-Ticket-Prefixe oder knappe Beschreibungen).

Tipp

3. Was passiert, wenn ein Pre-commit Hook (Husky/ESLint) beim Commit über Claude fehlschlägt?

Antwort: Claude umgeht die Prüfung nicht mit dem Flag --no-verify. Stattdessen analysiert er die Ausgabe des Linters oder der Tests, behebt die Verstöße im Code und führt den sicheren Commit erneut aus.

Abschließende Checkliste für effiziente Git-Arbeit

  • Verwenden Sie einen einzigen Satz wie Commit these changes statt einer manuellen Kette von Befehlen (status -> add -> commit).
  • Kombinieren Sie das Erstellen eines Branches mit der Business-Aufgabe in einem Prompt, um den ganzheitlichen Kontext zu bewahren.
  • Vertrauen Sie Claude die primäre Analyse an, um sicherzustellen, dass keine sensiblen Daten versehentlich committet werden.
Dieser Leitfaden ist komplett kostenlos. Wenn er Ihnen einen Abend erspart hat, können Sie das Wachstum des Projekts unterstützen.
Autor unterstützen