Un guide du tutoriel Qu'est-ce que Git : ce qu'est le contrôle de version, pourquoi cela importe, et les idées centrales de dépôt, commit et branche avant de toucher la moindre commande.
Ce tutoriel est conceptuel : il construit le modèle mental de Git avant que vous n'exécutiez la moindre commande. Comprendre ce que sont un dépôt, un commit et une branche rend toutes les commandes Git suivantes intuitives plutôt que mystérieuses.
Pourquoi le contrôle de version existe
Sans contrôle de version, sauvegarder la progression revient à faire des copies comme rapport-final-v2-vraiment-final.txt. Le contrôle de version résout cela proprement : il enregistre l'historique complet d'un projet, permet de voir exactement ce qui a changé et quand, et de revenir à n'importe quel état antérieur en toute sécurité.
Git est le système de contrôle de version utilisé par la plupart des projets logiciels dans le monde.
Dépôts : où vit l'historique
Un dépôt est un projet suivi par Git. À côté de vos fichiers normaux, Git conserve un historique complet dans un dossier caché .git. Transformer un dossier en dépôt est ce qui permet à Git de commencer à enregistrer.
L'historique vit avec le projet lui-même. Copiez le dépôt et vous copiez tout son historique : c'est pourquoi Git fonctionne hors ligne et est si résilient.
Commits : instantanés dans le temps
Un commit est un instantané du projet enregistré à un moment précis, avec un court message indiquant ce qui a changé. L'historique d'un projet est simplement une suite de commits. Puisque chaque commit est un point complet et étiqueté dans le temps, vous pouvez toujours y revenir.
Branches : lignes de travail parallèles
Une branche est une ligne de développement indépendante. Vous pouvez construire une nouvelle fonctionnalité sur sa propre branche pour que la version principale reste stable, puis fusionner le travail terminé. C'est la branche qui rend possible une progression simultanée et sûre, à plusieurs personnes (ou avec plusieurs idées).
Retenez trois mots : dépôt (le projet suivi), commit (un instantané enregistré) et branche (une ligne de travail parallèle). Chaque commande Git dans les tutoriels suivants opère sur ces trois choses.