Pourquoi Git existe
Le problème des versions
Tu as sûrement déjà vu un dossier comme celui-ci :
memoire.docx
memoire_v2.docx
memoire_v2_corrige.docx
memoire_FINAL.docx
memoire_FINAL_vraiment.docx
Les problèmes :
- on ne sait plus ce qui a changé entre deux versions ;
- on ne sait plus laquelle est la bonne ;
- si on casse quelque chose, retrouver la version qui marchait est pénible ;
- à plusieurs, chacun a sa copie et on écrase le travail des autres.
En programmation, c'est bien pire : un projet a des dizaines ou des milliers de fichiers, et une seule ligne modifiée peut tout casser. Il faut pouvoir retrouver laquelle.
Ce que fait Git
Git garde l'historique complet d'un dossier. Chaque fois que tu le décides, il prend une photo de tous tes fichiers et la range avec la date, ton nom et une phrase qui explique ce que tu as changé.
Ensuite, tu peux :
- revoir n'importe quelle photo ancienne ;
- voir exactement quelles lignes ont changé entre deux photos ;
- revenir en arrière si tu as cassé quelque chose ;
- essayer une idée en parallèle, sans toucher à la version qui marche ;
- travailler à plusieurs sans s'écraser.
Et tu gardes un seul fichier memoire.docx : c'est Git qui se souvient des versions.
Le vocabulaire, mot par mot
Git et GitHub : deux choses différentes
On les confond souvent :
- Git est un logiciel installé sur ton ordinateur. Il marche sans internet.
- GitHub est un site web (github.com) où l'on dépose une copie de son dépôt.
GitHub sert à trois choses :
- Sauvegarde : si ton PC tombe en panne ou est volé, ton travail est en ligne.
- Travail à plusieurs : chacun récupère et envoie des commits.
- Vitrine : les recruteurs regardent ton profil GitHub. Un historique propre et régulier prouve que tu travailles vraiment.
GitHub a été créé en 2008. En 2018, Microsoft l'a racheté pour 7,5 milliards de dollars. Il existe des concurrents qui font la même chose, comme GitLab.
Teste-toi
Tu n'as pas internet aujourd'hui. Peux-tu faire des commits ?
- Non, Git a besoin d'internet
- Oui : Git marche sur ton ordinateur, seul l'envoi vers GitHub demande internet (bonne réponse)
- Seulement si GitHub est ouvert dans le navigateur
Tu prends tes photos hors ligne. Tu les enverras sur GitHub quand tu auras du réseau.
Qu'est-ce qui fait qu'un dossier est un dépôt Git ?
- Son nom finit par
.git - Il contient un dossier caché
.git(bonne réponse) - Il est sur GitHub
- Il contient un fichier README
C'est le dossier caché .git qui contient l'historique. Supprime-le, et le dossier redevient un dossier ordinaire, sans historique.