Git avec Codex : travailler en sécurité
Oubliez la peur de tout casser. Découvrez la machine à remonter le temps utilisée par tous les développeurs.
Introduction
Imaginez que vous écriviez un roman. À chaque fois que vous changez d'avis sur la fin de l'histoire, vous dupliquez votre fichier : roman.doc, roman_v2.doc, roman_v2_final.doc, roman_v2_final_vrai.doc.
En programmation, faire cela est un aller simple vers la folie. Git a été créé précisément pour éviter cela. C'est l'outil qui sauve le plus de temps et de cheveux aux développeurs.
Lorsqu'on utilise une intelligence artificielle puissante comme Codex, capable de modifier 15 fichiers en une minute, on ne peut pas travailler sans filet de sécurité. Ce chapitre va démystifier Git et vous donner la "ceinture de sécurité" indispensable pour expérimenter sans stress.
Qu'est-ce que Git ?
Git n'est pas un langage de programmation. C'est un logiciel qui s'installe sur votre ordinateur (souvent déjà présent sur Mac/Linux) et qui se comporte comme une machine à remonter le temps photographique.
Quand vous lui dites "Prends une photo de mon dossier", Git enregistre chaque virgule, chaque image, chaque fichier. Si demain vous détruisez tout votre projet par erreur, il vous suffit d'un claquement de doigts pour dire à Git : "Remets les fichiers exactement comme sur la photo d'hier".
Pourquoi utiliser Git avec Codex ?
Parce que Codex ne lit pas dans vos pensées. Parfois, il va mal comprendre votre demande et supprimer une fonctionnalité essentielle. Si vous avez Git, vous souriez et vous annulez. Si vous n'avez pas Git, vous pleurez.
| Situation | Sans Git (Le Cauchemar) | Avec Git (La Sérénité) |
|---|---|---|
| Codex casse le fichier CSS | Vous passez 2h à retrouver l'erreur manuellement. | Vous tapez `git restore .` et le CSS revient à l'état précédent en 1 seconde. |
| Vous testez un nouveau design | Vous copiez le dossier du site (site_v2, site_v3). | Vous testez. Si c'est moche, vous annulez tout. Zéro dossier dupliqué. |
| Votre ordinateur plante | Si le disque dur lâche, 6 mois de travail sont perdus. | Si le code est poussé sur GitHub, vous retrouvez 100% du travail. |
| Vous travaillez à plusieurs | Vous vous envoyez les fichiers par email ou clé USB. | Chacun travaille de son côté et Git fusionne le tout automatiquement. |
| Vous ne savez plus ce qui a changé | Vous relisez 40 fichiers un par un. | Git colore en vert ce qui est ajouté et en rouge ce qui est supprimé. |
Les principaux termes à connaître
Le jargon de Git peut faire peur. Dédramatisons-le immédiatement.
| Terme | Définition simple | Exemple |
|---|---|---|
| Git | Le logiciel qui surveille vos fichiers. | Le gardien du temps. |
| Repository (Dépôt) | Le dossier de votre projet surveillé par Git. | Votre dossier "Mon_Site". |
| Commit | Une photo/sauvegarde de votre code à l'instant T. | "Ajout du bouton bleu". |
| Historique | La liste de toutes vos photos (commits). | L'album photo du projet. |
| Branche | Un univers parallèle pour tester une idée. | La branche "test-design". |
| Merge (Fusion) | Rassembler l'univers parallèle et l'univers principal. | Valider le nouveau design. |
| Clone | Télécharger un projet depuis internet. | Copier un modèle. |
| Push (Pousser) | Envoyer ses sauvegardes locales vers internet. | Sauvegarde sur le Cloud. |
| Pull (Tirer) | Récupérer les nouveautés depuis internet. | Mise à jour locale. |
| Remote | Le serveur distant (généralement GitHub). | Le disque dur lointain. |
| HEAD | Là où vous vous trouvez actuellement dans l'historique. | Le "Vous êtes ici" de la carte. |
Créer son premier dépôt Git (L'initialisation)
Pour que Git commence à surveiller un projet, il faut le lui demander. Cela ne se fait qu'une seule fois par projet.
- Ouvrez votre projet dans VS Code.
- Ouvrez le terminal de VS Code.
- Tapez cette commande et appuyez sur Entrée :
git init
C'est tout ! Le terminal vous répondra Initialized empty Git repository. Un dossier invisible .git a été créé. Git est réveillé et vous regarde travailler.
Réaliser son premier commit (La photo de sauvegarde)
Vous avez un site qui fonctionne. Vous voulez prendre une photo pour immortaliser ce moment parfait.
Étape 1 : Préparer les fichiers (La salle d'attente)
git add .Le point . signifie "Prends TOUS les fichiers modifiés". C'est comme dire aux acteurs "Placez-vous devant l'appareil photo".
Étape 2 : Prendre la photo (Le Commit)
git commit -m "Site fonctionnel avec page d'accueil"Le paramètre -m signifie Message. C'est crucial : c'est le nom de votre photo. Dans un mois, vous devrez savoir à quoi correspond cette sauvegarde.
Le drame du mauvais message de commit :git commit -m "modif" (Pire message possible)git commit -m "test" (Incompréhensible)git commit -m "Correction du bug du bouton rouge sur mobile" (Parfait !)
Utiliser Codex avec Git en situation réelle
Voici le scénario idéal de travail (le Workflow) :
graph TD;
A[Projet sain] --> B[Commit: 'Base propre'];
B --> C[Demande à Codex: 'Crée un Mode Sombre'];
C --> D[Codex modifie le code];
D --> E{Test: Le mode sombre est-il beau ?};
E -- Oui --> F[Commit: 'Ajout Mode Sombre'];
E -- Non, tout est cassé --> G[git restore .];
G --> A;
Si la modification est un succès, vous "sauvegardez la partie". Si c'est un échec critique, vous rechargez la sauvegarde précédente. C'est le principe du jeu vidéo appliqué au code.
Revenir à une version précédente (Le Ctrl+Z ultime)
Le cas de l'erreur non sauvegardée :
Vous venez de demander à Codex de refaire le CSS. C'est hideux. Vous n'avez pas encore fait de git commit. Tapez :
git restore .Instantanément, tous vos fichiers reviennent à l'état de votre dernier commit valide. C'est magique.
Le cas du commit toxique :
Vous avez fait le commit "Ajout du paiement Stripe". Mais le lendemain, vous réalisez que ça a complètement détruit le panier d'achat. Demandez à Codex de vous fournir la commande git revert correspondant à ce commit (il l'analysera avec vous) pour l'annuler proprement.
Les bonnes habitudes
Des commits petits et précis
Ne faites pas un commit intitulé "Refonte du menu + Ajout de la base de données + Correction de 12 bugs". Si vous devez revenir en arrière sur un seul bug, vous annulerez tout le reste. Faites un commit pour le menu. Puis un commit pour la BDD. Puis un commit pour les bugs.
Le filet avant le saut de l'ange
Si votre prompt commence par "Refais entièrement la page..." ou "Passe ce fichier de Vue.js vers React...", la première chose à faire est de taper git status pour vérifier que vous avez bien "commité" votre travail actuel.
Les erreurs les plus fréquentes avec Git
- Symptôme :
fatal: not a git repository
Cause : Vous avez oublié de fairegit initlors de la création du projet.
Bonne pratique : Le faire dès la première seconde. - Symptôme : Un commit avec 450 fichiers modifiés, dont 440 ne sont pas du code (images, fichiers de config lourds).
Cause : Vous avez oublié le fichier.gitignore(souvent pour le dossiernode_modules).
Bonne pratique : Demandez à Codex de générer un fichier `.gitignore` standard. - Symptôme : Avoir peur du terminal.
Cause : Vous pensez que c'est du "vrai piratage".
Bonne pratique : Utilisez le bouton "Source Control" dans la barre latérale gauche de VS Code. C'est une interface graphique intuitive pour fairegit add(+) etgit commit(champ texte + bouton Valider). - Symptôme : "Je croyais que Git allait tout sauvegarder sur internet automatiquement."
Cause : Confusion entre Git (local) et GitHub (internet).
Bonne pratique : Comprenez que sans la commandegit push, rien ne quitte votre ordinateur. - Symptôme : Vous avez copié/collé des commandes Git de StackOverflow sans les comprendre, votre code a disparu.
Cause : L'utilisation aveugle de commandes destructrices commegit reset --hard.
Bonne pratique : Toujours demander à Codex d'expliquer une commande Git AVANT de la taper.
Atelier pratique
Entraînez-vous sur un projet factice (un dossier avec juste un fichier index.html) pour ne pas stresser.
Exercice 1 : L'Initialisation
Étapes : Dans ce dossier vide, ouvrez le terminal.
Commande : git init
Résultat : Git est prêt.
Exercice 2 : La Salle d'attente
Étapes : Créez un texte dans index.html. Préparez la sauvegarde.
Commande : git add .
Explication : Git surveille désormais ce fichier.
Exercice 3 : Le Clic (Commit)
Étapes : Sauvegardez définitivement.
Commande : git commit -m "Création du fichier HTML basique"
Explication : La photo est prise et nommée.
Exercice 4 : La Machine à voyager dans le temps
Étapes : Supprimez tout le texte de index.html (catastrophe simulée).
Commande : git restore .
Résultat attendu : Votre texte réapparaît par magie.
Exercice 5 : La Consultation de l'Historique
Étapes : Regardez vos archives.
Commande : git log
Explication : Affiche l'auteur, la date et le message de votre sauvegarde.
Conseils
Git n'est pas fait pour vous piéger
C'est tout le contraire. Même si vous tapez une mauvaise commande, l'historique (les anciens commits) est presque toujours récupérable avec un peu d'aide. Git est fait pour protéger le code, pas pour le détruire.
Tableau récapitulatif des commandes
| Action | Commande dans le terminal | Pourquoi l'utiliser |
|---|---|---|
| Démarrer Git | <code>git init</code> | Dire à Git de surveiller ce dossier. |
| Voir l'état | <code>git status</code> | Savoir quels fichiers ont été modifiés. |
| Préparer tous les fichiers | <code>git add .</code> | Mettre les modifications dans la "salle d'attente". |
| Préparer un fichier | <code>git add style.css</code> | Ne sauvegarder qu'un seul fichier. |
| Faire la sauvegarde | <code>git commit -m "Message"</code> | Valider et nommer la sauvegarde. |
| Voir les sauvegardes | <code>git log</code> | Afficher la liste des anciens commits. |
| Annuler (non commit) | <code>git restore .</code> | Effacer TOUTES les modifications actuelles non sauvegardées. |
| Voir les différences | <code>git diff</code> | Afficher le détail (lignes rouges/vertes) des modifs. |
| Annuler préparation | <code>git restore --staged .</code> | Retirer les fichiers de la salle d'attente. |
| Créer une branche | <code>git branch test</code> | Créer un clone du projet pour expérimenter. |
| Aller sur la branche | <code>git checkout test</code> | Se téléporter dans l'univers parallèle. |
| Lier à GitHub | <code>git remote add origin [URL]</code> | Indiquer où se trouve la sauvegarde cloud. |
| Envoyer sur GitHub | <code>git push -u origin main</code> | Uploader ses commits sur internet. |
| Récupérer de GitHub | <code>git pull</code> | Mettre à jour son PC avec le cloud. |
| Modifier dernier message | <code>git commit --amend</code> | Corriger une faute de frappe dans le message du dernier commit. |
Foire aux questions
À retenir
Codex sans Git, c'est dessiner au stylo indélébile. Codex avec Git, c'est dessiner au crayon de papier avec une gomme magique infinie.
- Faites
git initdès la première seconde de votre projet. - Prenez l'habitude de taper
git add .puisgit commit -m "message clair"dès que vous avez réussi une étape importante. - N'ayez plus jamais peur de demander à l'IA d'essayer des choses folles ("Passe mon site en 3D"), car
git restore .annulera tout en un instant. - Ne vous encombrez pas avec les branches et les fusions au début. Le trio (add, commit, restore) suffit à 90% des besoins d'un débutant.
Transition vers le chapitre suivant
Vous êtes maintenant en sécurité absolue. Vous pouvez générer du code, vous tromper et annuler. Ce super-pouvoir va vous permettre d'aborder une tâche très pointue.
Souvent, le code généré par l'IA ou par vous-même "fonctionne", mais il est laid, lourd ou mal structuré. Dans le prochain chapitre, nous allons apprendre à utiliser Codex pour refactoriser intelligemment votre code : l'art de nettoyer, simplifier et optimiser un projet sans jamais modifier ce que voit l'utilisateur final.