Répertoire
Le fichier sur votre disque — ce que montre votre éditeur. Les modifications arrivent d’abord ici.
Chaque visualisation est pilotée par un simulateur Git dont la sortie est vérifiée avec le vrai Git. Voici ce que signifie chaque partie de la scène — et une scène en direct pour essayer.
git commitAppuyez sur ▶ et regardez un fichier voyager de votre disque à la zone de préparation, puis dans un commit. Pour taper vos propres commandes, ouvrez le bac à sable.
Le tableau de gauche suit chaque fichier à travers les trois endroits où Git le conserve. Une étiquette de version (v1, v2…) change quand le contenu change, et une cellule clignote quand une commande la touche.
Le fichier sur votre disque — ce que montre votre éditeur. Les modifications arrivent d’abord ici.
Le brouillon de votre prochain commit. git add y copie une version.
La version du dernier commit de la branche sur laquelle vous êtes.
Sous chaque nom de fichier : unchanged, modified, staged, untracked, conflict… exactement ce que dirait git status.
La partie droite dessine votre dépôt. Tout ce qui s’y trouve vient de l’état réel après chaque commande — rien n’est placé à la main.
Un commit, avec son hash court et son message. Les hashs sont réels : ils sont calculés à partir du contenu.
Va d’un parent vers son enfant. Un commit de fusion a deux parents, donc deux lignes s’y rejoignent.
Une branche n’est qu’une étiquette déplaçable posée sur un commit (main, feature/login…).
Là où vous êtes. HEAD se trouve à côté de la branche sur laquelle vous êtes, ou directement sur un commit quand HEAD est détachée.
origin/main et consorts : votre dernière copie connue des branches du serveur, mise à jour par fetch, pull et push.
Un commit inaccessible — plus aucune branche ne pointe dessus, mais il existe encore (le reflog peut le ramener).
Affichée quand une leçon utilise un dépôt distant : le dépôt du serveur au-dessus du vôtre, pour que push et fetch déplacent visiblement des commits entre eux.
Chaque leçon est une liste de commandes Git. Un simulateur Git intégré au site les exécute dans votre navigateur — avant chaque version, sa sortie est vérifiée ligne par ligne avec le vrai Git 2.48.
Les commandes interactives (add -p, rebase -i) marquent une pause à chaque question pour que vous puissiez la lire avant que la réponse soit tapée.
Quand Git ouvre un éditeur (message de commit, liste de tâches du rebase, message de tag), la scène montre le fichier en cours d’édition.
cat index.htmlcode index.htmlgit add index.htmlLes leçons se regardent seulement. Pour taper vos propres commandes, ouvrez le bac à sable (lien sous chaque visualisation) : le graphe réagit exactement comme dans les leçons, et des suggestions proposent les commandes les plus probables quand vous êtes bloqué.
Une ligne de narration comme « un collègue pousse… » signifie que quelqu’un d’autre a modifié le serveur — c’est la raison pour laquelle un push ou un pull plus tard se comporte ainsi.
Une étape est découpée en temps. Chaque temps change une seule chose et l’explique dans une légende en bas de la scène ; tout le reste s’estompe.
La commande est tapée avant que rien ne bouge, et les panneaux ne changent que lorsque son effet arrive.
2b4c917 naît — un instantané de tout ce qui est dans la zone de préparation. main avance dessus (HEAD suit — il pointe sur main)Ce qui vient de se passer et pourquoi, en une phrase. Le panneau à côté du terminal la reprend avec l’explication de l’étape.
git log --onelineecho "cart.push(item)" >> app.jsecho "export function login() {}" > login.jsgit statusgit add app.js login.jsLa liste numérotée sous l’explication. Cliquez sur une étape pour y aller.
Regardez-la comme une vidéo ou avancez pas à pas.
Recommencer, étape précédente, lecture / pause, étape suivante.
Faites glisser pour aller à n’importe quel moment de la leçon.
De 0,5× à 2×.
Cliquez sur la scène, puis Espace = lecture / pause, ← / → = étape précédente / suivante.
Là où vivent les visualisations.
--force-with-leaseGit ≥ 1.8.5RecommandéLa visualisation principale couvre l’usage courant de la commande. Chaque option a sa propre courte visualisation — ouvrez-la depuis la liste des options.
Chaque option porte un badge : Recommandé, Si nécessaire ou Déconseillé, avec une raison en une ligne.
Ouvrir le diff dans votre éditeur avant l’indexation. Vous pouvez choisir à la main les modifications à inclure.
$ git add -e app.jsgit add -e ouvre tout le diff sous forme de patch dans votre éditeur ; vous supprimez les lignes que vous ne voulez pas indexer et git applique le reste. C’est un fichier modifié à la main, pas un changement d’état du dépôt que la scène peut animer — git add -p en est l’équivalent visuel.
Quelques options dépendent d’éléments extérieurs au dépôt (votre éditeur, les permissions des fichiers, les fins de ligne). Elles ont une carte d’explication au lieu d’une animation.
$ git switch -c feature/login$ echo "export function login() {}" > login.js && git add login.js && git commit -m "Add login page"$ echo "login()" >> app.js && git commit -am "Call login on load"Des démonstrations réelles jouées comme une histoire continue, découpées en sections titrées sur lesquelles vous pouvez cliquer.
Le bouton en forme d’engrenage dans l’en-tête regroupe les paramètres : langue, site clair ou sombre, thème des visualisations, mode daltonien et taille du texte.
Suivez un workflow complet, ou choisissez une commande.