Document 1

title: « Leçon 1 — Qu’est-ce que Git ? »

description: « Comprendre les concepts fondamentaux du contrôle de version avec Git. »

taxonomy:

  doc_category: Categorie-A

## Un peu d’histoire

Git a été créé en **2005** par **Linus Torvalds**, le créateur du noyau Linux. Face aux limitations des outils existants, il a conçu un système de contrôle de version :

– **Distribué** — chaque développeur possède une copie complète de l’historique

– **Rapide** — les opérations sont effectuées localement

– **Fiable** — l’intégrité des données est garantie par des sommes de contrôle SHA-1

## Pourquoi utiliser Git ?

| Sans Git | Avec Git |

|———-|———-|

| `projet_v1.zip`, `projet_v2_final.zip`, `projet_v2_VRAIMENT_final.zip` | Un historique clair et structuré |

| Pas de traçabilité des modifications | Chaque changement est documenté |

| Collaboration difficile | Travail en équipe simplifié |

| Risque de perte de données | Sauvegarde distribuée |

## Les concepts clés

### Le dépôt (repository)

Un **dépôt** est un dossier dont Git suit les modifications. Il contient :

– Vos fichiers de travail

– Un dossier caché `.git/` qui stocke tout l’historique

### Les trois zones de Git

« `

┌─────────────────┐     git add     ┌─────────────────┐    git commit    ┌─────────────────┐

│  Working Dir    │ ──────────────► │  Staging Area   │ ──────────────► │   Repository    │

│  (vos fichiers) │                 │  (index)        │                 │   (historique)  │

└─────────────────┘                 └─────────────────┘                 └─────────────────┘

« `

1. **Working Directory** — votre dossier de travail avec les fichiers modifiés

2. **Staging Area (index)** — zone de préparation avant un commit

3. **Repository** — l’historique complet de votre projet

### Le commit

Un **commit** est un instantané (snapshot) de votre projet à un instant donné. Chaque commit contient :

– Les modifications effectuées

– Un message descriptif

– Un identifiant unique (hash SHA-1)

– Une référence vers le commit parent

« `bash

# Exemple d’un premier commit

git add .

git commit -m « Initial commit : ajout de la structure du projet »

« `

## Résumé

– Git est un système de contrôle de version **distribué**

– Il permet de suivre l’historique de chaque modification

– Les trois zones (Working Dir → Staging → Repository) forment le flux de travail de base

What are your feelings

Updated on 13/04/2026