Skip to main content
Sommaire du guide
Débutant12 min

Travailler avec Git via Claude Code : guide pour débutants

Guide pratique complet sur l'intégration de Git et de Claude Code : staging intelligent, descriptions automatiques des commits, résolution des conflits de fusion, GitHub CLI et normes de sécurité.

Publié :
POUR AGENT IAChatGPTClaude

1. Qu'est-ce que l'intégration Git dans Claude Code

Claude Code dispose d'une intégration native profonde avec le système de contrôle de version Git. Contrairement aux chats IA classiques, où le développeur est contraint de copier manuellement la sortie des commandes git diff ou git status, l'agent terminal Claude Code interagit directement avec votre dépôt local via sa boîte à outils intégrée d'exécution de commandes.

L'agent analyse la structure des modifications, suit l'historique du projet, respecte le style de messages adopté et prend en charge les opérations routinières : création de branches, staging sélectif de fichiers, rebase sécurisé et même génération de descriptions complètes pour les 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["Оновлення повідомлення"]

Avantages de l'utilisation de Git via Claude Code

CritèreGit manuel traditionnelTravail via Claude Code
Analyse des changementsRevue manuelle de chaque fichier via git diffCompréhension automatique de la sémantique et des liens entre les fichiers
Description des commitsSouvent des phrases peu informatives comme "update", "fix bug"Messages structurés selon la norme Conventional Commits
StagingRisque d'ajouter accidentellement des fichiers superflus ou temporaires via git add .Staging précis uniquement des fichiers de code pertinents
Conflits de fusionComparaison manuelle complexe des marqueurs <<<<<<<Analyse intelligente de la logique métier des deux branches
Création de PRRédaction manuelle du titre, de la description et de la checklist de testGénération automatique d'une description détaillée via l'intégration gh CLI
Note

Claude Code exécute chaque commande dans un contexte isolé de votre dépôt local et demande toujours une confirmation avant d'effectuer des actions qui modifient les fichiers ou l'historique des branches.


2. Création de commits : staging intelligent et description

Le flux de travail quotidien le plus courant pour un développeur consiste à enregistrer les modifications dans le dépôt. Au lieu d'appeler successivement trois ou quatre commandes de terminal, vous pouvez solliciter Claude Code avec une simple phrase en langage naturel :

bash
Commit these changes with a descriptive message

Ce qui se passe sous le capot

Lorsque Claude reçoit l'instruction de créer un commit, il effectue un diagnostic séquentiel :

  1. Diagnostic de l'arborescence de travail : il appelle git status pour obtenir la liste des fichiers modifiés, supprimés et nouveaux non suivis.
  2. Analyse sémantique du code : il lance git diff pour examiner les lignes ayant subi des modifications, en distinguant la logique métier du formatage.
  3. Étude des conventions du dépôt : il vérifie git log -n 5 pour déterminer comment nommer les commits au sein de votre équipe (par exemple, feat(auth): ... ou Add auth module).
  4. Staging ciblé : il ajoute à l'index Git uniquement les fichiers liés à la tâche actuelle, en ignorant les fichiers de configuration ou secrets.
  5. Formulation du message : il génère un titre concis et une description substantielle expliquant les causes et les conséquences des modifications.
Astuce

Si vous souhaitez ne valider qu'un fichier spécifique ou une partie des modifications, indiquez-le explicitement dans le prompt : Commit only the changes in src/components/Header.tsx with an appropriate message.


3. Gestion des branches et changement de contexte

L'isolation du code dans des branches distinctes est une règle fondamentale du développement en équipe. Claude Code permet de créer simultanément une branche et de passer à l'implémentation de la fonctionnalité sans changer péniblement entre le terminal et l'éditeur.

Création et bascule de branches

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

Claude exécutera automatiquement la commande git checkout -b feature/instant-search (ou git switch -c).

Combiner la création de branche et l'implémentation de la fonctionnalité

La meilleure efficacité est atteinte lorsque vous combinez l'intention de créer une branche avec la formulation de la tâche d'ingénierie :

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

Préfixes couramment acceptés pour les branches

  • feature/ ou feat/ — nouvelle fonctionnalité ou composant (par exemple, feature/stripe-payments).
  • fix/ ou bugfix/ — correction d'un bug (par exemple, fix/oauth-redirect).
  • refactor/ — optimisation de la structure du code sans changement de comportement (par exemple, refactor/user-service).
  • chore/ — mise à jour des dépendances, configuration CI/CD ou documentation (par exemple, chore/upgrade-nextjs-15).

4. Résolution des conflits de fusion (Merge Conflicts)

Les conflits de fusion surviennent lorsqu'un même fragment de code a été modifié dans deux branches différentes. La résolution manuelle de ces situations conduit souvent à la suppression accidentelle de code utile ou à des erreurs de syntaxe.

Claude Code analyse les deux côtés du conflit, comprend l'intention de l'auteur de chaque branche et intègre les modifications sans perte de fonctionnalité.

Algorithme étape par étape pour résoudre un conflit via Claude

  1. Lancez le processus de fusion ou de rebase dans le terminal :

    bash
    git merge origin/main # або git rebase main
  2. Si des marqueurs de conflit apparaissent, transférez le contrôle à 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 des marqueurs : Claude lit les marqueurs <<<<<<< HEAD, ======= et >>>>>>>, puis forme une version synthétisée du code.

  4. Vérification de la compilation : après la suppression des marqueurs, l'agent lance une vérification des types (tsc --noEmit) ou des tests (npm test) pour s'assurer de la viabilité de la solution.

  5. Staging des fichiers résolus : l'agent exécute git add <resolved-files> et prépare la dernière étape pour finaliser la fusion.

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

Claude proposera une solution optimale cohérente : conserver le timeout augmenté 10000 de votre branche tout en ajoutant la nouvelle constante RETRY_ATTEMPTS = 3 de la branche main.


5. Cherry-pick, Rebase et portage de commits

Il arrive parfois qu'il faille porter un patch spécifique ou une correction critique sur une branche de release sans emporter tout l'historique de développement. Pour cela, on utilise le mécanisme cherry-pick.

Portage d'un commit individuel (Cherry-pick)

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

Si des divergences de base de code surviennent lors du portage du commit, Claude localise automatiquement les diffs, ajuste les chemins d'import ou les variables et propose une solution propre.

Backporting intelligent (Backport)

Dans les grands projets comportant plusieurs versions stables, le backporting est une procédure routinière. Vous pouvez déléguer à Claude l'ensemble des actions :

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 : quand choisir quoi

OpérationQuand l'utiliserAvantagesCe que fait Claude
git rebase mainLors de la mise à jour d'une branche locale avec les derniers changements de mainHistorique de commits linéaire et propre, sans commits de merge superflusVérifie chaque commit tour à tour, corrige automatiquement les conflits triviaux
git merge mainLors de la fusion d'une branche de fonctionnalité terminée dans la branche commune de releasePréserve l'ordre chronologique exact du développementCrée un unique commit de merge avec une liste exhaustive des changements combinés

6. Gestion des changements temporaires via Git Stash

Si vous devez rapidement basculer sur un correctif critique ou vérifier le fonctionnement d'une autre branche, mais que votre travail actuel n'est pas prêt à être validé en commit, git stash vient à la rescousse.

Claude Code est capable d'exécuter des séquences multi-étapes d'opérations sur le stockage des modifications incomplètes :

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

Retour à l'état sauvegardé

Après avoir terminé la vérification ou le correctif urgent, restaurez vos travaux :

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

Grâce à l'analyse sémantique, Claude vérifiera automatiquement si des fichiers n'ont pas été supprimés lors de la mise à jour de la branche de base, et appliquera correctement les modifications sauvegardées.


7. Création de Pull Requests et intégration avec GitHub CLI (gh)

Si l'utilitaire officiel GitHub CLI (gh) est installé sur votre système, Claude Code devient un assistant complet pour la création et la revue de Pull Request.

Formalisation automatique de la PR via Claude

Au lieu de remplir le formulaire dans le navigateur manuellement, saisissez :

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

Exemple de Pull Request générée

Claude forme automatiquement un modèle markdown de haute qualité :

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
Important

Assurez-vous d'être authentifié auprès de GitHub CLI via la commande gh auth status avant de créer des demandes de fusion.


8. Règles de sécurité intégrées et mécanismes de protection

Git est un outil puissant, mais une utilisation négligente de certains flags peut entraîner une perte irrévocable de code ou la réécriture de l'historique partagé. Claude Code dispose de règles de protection intégrées contre ce type d'erreurs.

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

Les quatre règles d'or de la sécurité de Claude Code

  1. Interdiction du Force Push destructeur : Claude n'exécute jamais git push --force ou -f sur des branches protégées (main, master, release) sans votre confirmation explicite multiple.
  2. Staging adressé : l'agent évite les commandes aveugles git add . ou git add -A. Chaque fichier est stagé via son chemin exact, ce qui empêche la fuite accidentelle de fichiers .env, de clés de chiffrement ou de dumps locaux de base de données.
  3. Préservation de l'intégrité de l'historique : l'agent privilégie la création d'un nouveau commit correctif plutôt que la modification de l'historique via git commit --amend, surtout si les changements ont déjà été poussés sur le serveur distant.
  4. Respect des Pre-commit Hooks : Claude n'utilise pas le flag --no-verify pour contourner les vérifications Husky, ESLint ou Prettier. Si un hook bloque le commit, l'agent identifie la cause de l'erreur de lint ou de test, la corrige et retente conformément aux règles.
Avertissement

Ne demandez jamais à l'IA d'exécuter des commandes git reset --hard HEAD~N non vérifiées sur des branches partagées. Utilisez toujours git stash ou la création d'une branche de backup temporaire avant toute modification majeure de l'historique.


9. Atelier pratique : cycle complet de la branche à la PR

Essayons de parcourir tout le cycle de travail d'un développeur dans un projet réel — de la réception de la tâche à l'envoi du code prêt pour revue via Claude Code.

Étape 1. Vérification de l'état et création de la branche de travail

Ouvrez le terminal dans votre dépôt, lancez claude et donnez la consigne :

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

Claude s'assurera que le répertoire de travail est propre, récupérera les dernières mises à jour et créera une nouvelle branche locale.

Étape 2. Implémentation de la tâche

Donnez la tâche à l'agent :

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

Étape 3. Vérification et commit ciblé

Après la création du fichier, donnez l'ordre de valider le résultat :

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

Claude vérifiera la viabilité, ajoutera à l'index src/components/Avatar.tsx (ainsi que le fichier de test) et formulera le 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

Étape 4. Push et ouverture de la Pull Request

Terminez le cycle de travail avec le prompt final :

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

10. Auto-vérification rapide et checklist finale

Vérifiez votre maîtrise du matériel à l'aide d'un court test.

Questions de contrôle

Astuce

1. Pourquoi Claude Code stage-t-il les fichiers par leurs noms exacts au lieu d'exécuter git add . ?

Réponse : Pour éviter l'ajout accidentel au dépôt de données confidentielles (.env), de fichiers système temporaires (.DS_Store) et de builds locaux qui pourraient avoir été omis dans le .gitignore.

Astuce

2. Comment Claude Code décide-t-il du format de rédaction du message de commit ?

Réponse : L'agent analyse automatiquement les derniers commits du dépôt via git log, s'adaptant au style existant de l'équipe (Conventional Commits, préfixes de tickets Jira ou descriptions concises).

Astuce

3. Que se passe-t-il si un Pre-commit Hook (Husky/ESLint) échoue avec une erreur lors du commit via Claude ?

Réponse : Claude ne contournera pas la vérification avec le flag --no-verify. Il analysera la sortie du linter ou des tests, corrigera les violations dans le code et réexécutera un commit sécurisé.

Checklist finale pour une efficacité optimale avec Git

  • Utilisez une seule phrase Commit these changes au lieu d'une chaîne manuelle de commandes status -> add -> commit.
  • Combinez la création de branche et la tâche métier dans un seul prompt pour préserver un contexte cohérent.
  • Faites confiance à Claude pour l'analyse initiale et la résolution des conflits de fusion complexes après rebase ou merge.
  • Utilisez toujours git stash via Claude avant de basculer urgemment sur une autre branche.
  • Installez gh CLI pour déléguer à Claude la génération de descriptions structurées pour les Pull Requests.
  • Ne désactivez jamais les règles de sécurité : vérifiez le diff final avant d'envoyer les modifications sur le serveur distant.
Ce guide est entièrement gratuit. S'il vous a fait gagner une soirée, vous pouvez soutenir la croissance du projet.
Soutenir l'auteur