📘 Git
Git est un système de contrôle de version distribué, open-source, qui permet de suivre les modifications de code et de coordonner le travail entre plusieurs développeurs.
| Caractéristique | Git | GitHub |
|---|---|---|
| Nature | Git Système de contrôle de version (logiciel) | GitHub Plateforme d'hébergement et de collaboration (service web) |
| Fonctionnement | Git Principalement local (ligne de commande ou interface graphique) | GitHub Principalement en ligne (interface web graphique) |
| Objectif principal | Git Gérer l'historique et les changements de code localement | GitHub Héberger les dépôts Git, faciliter le partage et la collaboration en équipe |
Git est un système de contrôle de version distribué, open-source, qui permet de suivre les modifications de code et de coordonner le travail entre plusieurs développeurs.
GitHub est une plateforme web qui héberge des dépôts Git et offre des fonctionnalités supplémentaires pour la collaboration, la gestion de projet et l'intégration continue.
Pense à Git comme le cœur de ton projet, le système qui enregistre chaque battement (chaque modification) sur ton ordinateur. GitHub, c'est comme le réseau social où tu partages et discutes de ton cœur de projet avec d'autres personnes, mais aussi un coffre-fort où il est en sécurité en ligne. Git est l'action de gérer les versions, GitHub est le lieu pour les partager.
La confusion entre Git et GitHub est très répandue et s'explique historiquement. Git, créé par Linus Torvalds en 2005, est un système de contrôle de version distribué. C'est l'outil en ligne de commande qui te permet de suivre et de gérer toutes les modifications de ton code localement. GitHub, né en 2008, est une plateforme web qui héberge les dépôts Git et y ajoute des fonctionnalités sociales et collaboratives. Pour beaucoup, GitHub a été la porte d'entrée dans le monde du développement collaboratif. On a souvent entendu parler de "mettre son code sur GitHub" avant même de comprendre le fonctionnement de Git. La popularité écrasante de GitHub a ainsi mis l'accent sur la plateforme, souvent au détriment de la distinction avec l'outil fondamental qu'elle utilise. C'est la plateforme qui a rendu l'outil accessible.
Imagine que tu écris un roman fantastique sur ton ordinateur. Tu utilises Git pour gérer tes chapitres. Quand tu finis une idée ou une série de phrases, tu "commit" tes changements avec un message explicite comme "Ajout dialogue elfes et dragon". Tu veux essayer une fin alternative sans toucher à l'originale ? Tu crées une "branche" pour cette nouvelle idée. Si elle te plaît, tu la "fusionnes" (merge) avec ta version principale. Sinon, tu la supprimes simplement. Git te permet de voyager dans le temps de ton projet, de revenir à n'importe quelle version sauvegardée localement, sans jamais perdre de travail. C'est ton historique personnel.
Imagine que tu écris ce roman avec deux amis. Chacun gère sa version locale avec Git. Comment collaborer ? C'est le rôle de GitHub. Tu crées un dépôt en ligne et "pousses" (push) ton roman dessus. Tes amis le "clonent" sur leurs machines. L'un ajoute un personnage et propose ses modifications via une "pull request". Tu revois son travail, laisses des commentaires. Si tout est bon, tu "fusionnes" (merge) ses ajouts. GitHub est votre point de rencontre centralisé pour collaborer, suivre les problèmes et voir les progrès de chacun facilement.