Versioning avec Git & GitHub · Étape 01

Distingue Git, GitHub et les trois zones de travail

Construis un modèle mental précis du working tree, de l’index et du repository avant de mémoriser des commandes.

Durée indicative · ~1 h 15Niveau débutantPratique · TP
L’idée reçue

« Git et GitHub sont le même outil. »

Git versionne localement. GitHub héberge des dépôts Git et ajoute collaboration, pull requests, revues, issues et automatisation.

01Sépare Git et GitHub

Élément
Rôle
Dépend d’Internet
Git
historique distribué local
non pour les opérations locales
GitHub
hébergement et collaboration distante
oui
Dépôt local
fichiers, index et commits sur la machine
non
Dépôt distant
copie partagée accessible par URL
généralement oui

02Visualise les trois zones

Working tree  --git add-->  Index  --git commit-->  Repository
     ^                         |
     |------ modification -----|

Le working tree contient l’état visible des fichiers. L’index prépare exactement le prochain snapshot. Le repository conserve les commits dans le dossier .git.

03Observe sans modifier

pwd
ls -la
git status

En dehors d’un dépôt, git status signale qu’aucun repository n’est trouvé. Cette erreur est utile : elle rappelle que Git raisonne à partir d’un dossier contenant .git.

04Crée le laboratoire

Télécharge le script depuis la ressource de cette leçon, place-le dans ton dossier de travail, puis exécute :

chmod +x module1-git-foundations.sh
./module1-git-foundations.sh setup
./module1-git-foundations.sh status

Le starter contient un commit initial, une modification de README, un fichier non suivi et un fichier .env ignoré.

05Lis les symboles de status

cd /tmp/soria-git-foundations-$USER/starter
git status --short --branch
## main
 M README.md
?? docs/

M indique un fichier suivi mais modifié. ?? indique un fichier encore non suivi. Le fichier .env n’apparaît pas parce qu’il est ignoré.

06Observe .git avec prudence

find .git -maxdepth 2 -type f | sort | head
git rev-parse --git-dir
git rev-parse --show-toplevel

Utilise les commandes Git pour interroger le repository. Ne modifie pas manuellement les fichiers internes de .git dans ce module.

Challenge autonome

Explique chaque transition

Pour une modification de README, décris son état avant git add, après git add et après git commit. Indique dans quelle zone se trouve chaque version.

Ce que tu retiens

Git est local et distribué. GitHub est une plateforme distante. Working tree, index et repository permettent de comprendre presque toutes les commandes de base.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.