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.

SituationSans Git (Le Cauchemar)Avec Git (La Sérénité)
Codex casse le fichier CSSVous 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 designVous copiez le dossier du site (site_v2, site_v3).Vous testez. Si c'est moche, vous annulez tout. Zéro dossier dupliqué.
Votre ordinateur planteSi 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 à plusieursVous 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.

TermeDéfinition simpleExemple
GitLe 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".
CommitUne photo/sauvegarde de votre code à l'instant T."Ajout du bouton bleu".
HistoriqueLa liste de toutes vos photos (commits).L'album photo du projet.
BrancheUn 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.
CloneTé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.
RemoteLe serveur distant (généralement GitHub).Le disque dur lointain.
HEADLà 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.

  1. Ouvrez votre projet dans VS Code.
  2. Ouvrez le terminal de VS Code.
  3. 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.

Attention

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

Bonnes pratiques

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.

Astuce

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 faire git init lors 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 dossier node_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 faire git add (+) et git 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 commande git 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 comme git 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

À retenir

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

ActionCommande dans le terminalPourquoi 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

Non, mais c'est comme conduire sans ceinture. Techniquement possible, mais extrêmement dangereux dès que vous faites une modification majeure.
Git est le logiciel sur votre ordinateur qui crée les sauvegardes. GitHub est le site web (le cloud) où vous pouvez stocker ces sauvegardes pour les partager.
Oui, à 100%. Tant que vous ne poussez pas (push) vos sauvegardes sur internet (GitHub), Git fonctionne localement sur votre disque dur sans aucune connexion.
Absolument. Il suffit d'initialiser Git dans le dossier de votre thème WordPress pour suivre les modifications de vos fichiers PHP et CSS.
Si vous n'avez pas encore fait de commit, la commande `git restore .` annule toutes les modifications en cours et remet les fichiers comme au dernier commit.
C'est possible (via `git reset`), mais il est généralement préférable de faire un nouveau commit qui annule l'ancien (`git revert`). Cela garde une trace propre.
À chaque petite victoire. Dès qu'un bouton marche, dès qu'une erreur est corrigée, dès qu'une page est finie. N'attendez pas la fin de la journée.
Non. Git est extrêmement léger et optimisé. Les dossiers cachés `.git` prennent très peu de place par rapport aux avantages qu'ils apportent.
Non. Restez sur la branche principale (`main` ou `master`) tant que vous travaillez seul. Vous apprendrez les branches plus tard.
Parce que si l'IA écrit 500 lignes de code qui cassent tout, vous tapez une seule commande Git et votre projet redevient parfait en 2 secondes.
Oui ! L'onglet "Source Control" de VS Code permet de faire des commits visuellement en 2 clics. La ligne de commande n'est qu'une option.
Vous perdez tout l'historique de vos sauvegardes (les commits). Votre projet actuel ne sera pas effacé, mais vous ne pourrez plus remonter dans le temps.
Oui. Créez un fichier nommé `.gitignore` et écrivez dedans le nom des fichiers que Git ne doit jamais sauvegarder.
Au début, oui. Limitez-vous aux 3 commandes de base (add, commit, restore) pour ne pas vous emmêler les pinceaux.
Non, Git est totalement gratuit et open source.

À retenir

À 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 init dès la première seconde de votre projet.
  • Prenez l'habitude de taper git add . puis git 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.