Pourquoi un programmeur a-t-il besoin d'une « machine à voyager dans le temps » ?

Imaginez : hier, le code fonctionnait ; aujourd'hui, après modifications, tout s'est cassé. Sans système de contrôle de version (VCS), vous devrez copier manuellement le dossier du projet et le nommer projectfinalv2_LAST. Un VCS résout trois choses à la fois : il enregistre qui a modifié quoi et quand, vous permet de comparer deux versions ligne par ligne et vous permet de revenir à n'importe quel état précédent. Dans ce chapitre, vous passerez de l'idée de VCS à la pratique : installation de Git, création de référentiels, cycle de vie des fichiers, affichage de l'historique et .gitignore.

L'évolution du contrôle de version
Cliquez sur une époque pour voir ce qui a changé ▶
Voici à quoi ressemble réellement l’historique de Git

Git ne stocke pas les fichiers de manière linéaire : il stocke un graphique des validations. Chaque commit pointe vers son(ses) parent(s). Les branches sont simplement nommées des pointeurs vers des commits. Lorsque vous créez une branche de fonctionnalités, la fusionnez et marquez une version, vous obtenez un graphique comme celui-ci. Cliquez sur n’importe quel commit pour voir ses détails.

Cliquez sur n’importe quel commit pour l’inspecter. Les lignes montrent les relations parent → enfant.
GIT GRAPH · 4 branches · 12 commits
v0.5v1.0PRINCIPALDÉVELOPPERCORRECTIFFONCTIONNALITÉ
Git graph
Click a commit to see details
PRINCIPAL
DÉVELOPPER
CORRECTIF
FONCTIONNALITÉ
12 commits · 4 branches · click a commit to inspect
Trois tâches principales d'un VCS
Pourquoi avez-vous besoin d'un contrôle de version
Pourquoi Git spécifiquement ?

Git a été créé en 2005 par Linus Torvalds pour gérer le code source du noyau Linux – un projet avec des milliers de contributeurs et des décennies d'histoire. Les priorités de conception étaient : la vitesse, l'intégrité des données et la prise en charge des flux de travail non linéaires distribués (nombreuses branches). Aujourd'hui, Git est le standard de facto pour le contrôle de version : presque tous les projets open source et la plupart des entreprises l'utilisent.

Le cycle Git local de base — cliquez sur chaque étape ▶
Modifier
modifier les fichiers dans votre éditeur
Scène
git add - marquer les fichiers pour le prochain commit
Commettre
git commit - instantané dans l'historique local
Pousser
git push - envoyer les commits à distance
Git ≠ GitHub. Git est le programme de contrôle de version qui s'exécute sur votre ordinateur : il fonctionne complètement hors ligne. GitHub, GitLab et Bitbucket hébergent des services construits sur Git qui ajoutent des fonctionnalités de collaboration (pull request, suivi des problèmes, CI/CD). Vous pouvez utiliser Git sans aucun d’entre eux.