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.
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.
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.