Chapitre 0Projet GitFlow Portfolio

Introduction — Pourquoi Git change tout

Le problème sans Git, installation et les 3 zones

Concepts Théoriques

Imaginez ce scénario : vous travaillez sur votre portfolio depuis 3 semaines. Hier soir, vous avez fait une modification majeure qui a cassé tout le responsive. Vous ne vous souvenez plus exactement de ce que vous avez changé. Sans Git, vous êtes coincé. Avec Git, vous tapez une commande et tout revient comme avant.

Le problème sans Git

Sans contrôle de version, les développeurs font ça :

  • index.html, index_v2.html, index_v3_final.html, index_v3_VRAIMENT_final.html
  • Copier le dossier entier avant chaque grosse modification
  • Envoyer le code par email ou WhatsApp pour "sauvegarder"
  • Impossible de savoir qui a changé quoi, quand et pourquoi

C'est un cauchemar — et c'est exactement ce que Git résout.

Ce qu'est Git

Git est un système de contrôle de version distribué. En langage simple :

  • Contrôle de version — Git sauvegarde CHAQUE version de vos fichiers. Vous pouvez revenir à n'importe quel point dans le passé.
  • Distribué — Chaque développeur a une copie COMPLÈTE de l'historique sur son ordinateur. Pas besoin d'internet pour travailler.

Git a été créé en 2005 par Linus Torvalds (le créateur de Linux). Aujourd'hui, c'est l'outil de versionning utilisé par 99% des développeurs professionnels dans le monde.

Git vs GitHub — la différence

  • Git = le logiciel installé sur votre ordinateur. Il fonctionne en local, sans internet.
  • GitHub = un service web qui héberge vos dépôts Git dans le cloud. C'est le "Google Drive du code" avec des fonctionnalités de collaboration (Pull Requests, Issues, etc.).

Alternatives à GitHub : GitLab, Bitbucket. Mais GitHub est le standard de l'industrie avec 100+ millions de développeurs.

Les 3 zones de Git — le concept fondamental

Git organise vos fichiers en 3 zones :

  1. Working Directory (répertoire de travail) — Les fichiers sur votre disque dur, tels que vous les voyez dans VS Code. C'est là que vous éditez votre code.

  2. Staging Area (zone de préparation) — Une zone intermédiaire où vous choisissez QUELS fichiers modifier vont dans le prochain commit. C'est comme une salle d'attente avant la sauvegarde. Vous y ajoutez des fichiers avec git add.

  3. Repository (dépôt) — L'historique complet de tous vos commits. Chaque commit est un snapshot (photo instantanée) de votre projet à un moment donné. Vous y envoyez les fichiers de la staging area avec git commit.

Le flux : vous modifiez des fichiers (Working Directory) → vous sélectionnez lesquels sauvegarder (git add → Staging Area) → vous créez un point de sauvegarde (git commit → Repository).

Pourquoi une staging area ? Parce que parfois vous modifiez 10 fichiers mais vous ne voulez commiter que 3 d'entre eux (les autres ne sont pas finis). La staging area vous donne ce contrôle.

Installer Git

  • Windows : Téléchargez sur git-scm.com. L'installation inclut Git Bash (un terminal).
  • macOS : Ouvrez le Terminal et tapez git --version. Si Git n'est pas installé, macOS propose de l'installer.
  • Linux : sudo apt install git (Ubuntu/Debian) ou sudo dnf install git (Fedora).

Vérifiez l'installation : git --version doit afficher la version (ex: git version 2.44.0).

Configurer votre identité

Git a besoin de savoir QUI fait les commits :

git config --global user.name "Votre Nom" git config --global user.email "votre@email.com"

Ces informations sont attachées à chaque commit. Utilisez le même email que votre compte GitHub.

> Important : Git est un outil en ligne de commande. Vous tapez des commandes dans un terminal (Git Bash sur Windows, Terminal sur macOS/Linux, ou le terminal intégré de VS Code avec Ctrl+`). Il existe des interfaces graphiques (GitKraken, SourceTree) mais apprendre les commandes est essentiel pour comprendre ce que vous faites.