Cet article est plutôt orienté pour ceux qui utilisent - ou apprennent - le code. Mais Git peut aussi vous servir si vous voulez enregistrer l'historique des modifications d'un fichier Word par exemple.
Git est un logiciel de versioning (gestion de versions) open source créé en 2005 par l’inventeur de Linux (Linus Torvalds).
C'est quoi un outil de versioning ?
Pour faire simple, c'est un outil qui stocke chronologiquement les versions de vos fichiers et leurs modifications. Dans l'utilisation la plus courante de Git, on enregistre son code sur une machine distante grâce à un hébergeur distant qui utilise Git (Github, Gitlab etc...) et on peut récupérer notre travail de n’importe où. Mais vous pourriez très bien utiliser Git pour enregistrer non pas du code mais l'évolution de votre roman sur Word sur votre ordinateur afin de conserver les modifications faites au fur et à mesure.
La différence entre Git et Github/Gitlab/BitBucket/... ?
Github et Gitlab utilisent Git pour conserver vos fichiers sur un hébergeur distant. Ce sont des interfaces qui offrent des moyens plus simples d'utiliser Git que la ligne de commande et qui vous permettent d'avoir votre travail sauvegardé autre part que sur votre machine. Envoyer votre code sur Github/Gitlab ou autre vous permet aussi de le récupérer sur n'importe quel autre ordinateur et éventuellement de le partager facilement, ce qui permet de travailler en équipe efficacement.
Comment ça marche ?
Git s'utilise, de base, en lignes de commandes (git pull, git push, git commit…). Mais vous pouvez également utiliser des interfaces graphiques. On conseille quand même d'utiliser d'abord les lignes de commande pour mieux comprendre le fonctionnement.
Avant de rentrer dans une explication très succinte du fonctionnement, je vous conseille de suivre la formation Git gratuite de Grafikart et/ou le cours OpenClassRooms sur Git. Cela vous permettra de tester rapidement et plus en profondeur ce que je vous résume ci-après.
Git fonctionne par branches, un peu comme un arbre. La branche principale est souvent nommée “master”. C'est votre code principal qui sera le code que vous mettrez généralement en production (c’est un peu le tronc de votre arbre). Vous pouvez faire d’autres branches pour travailler sur une fonctionnalité, réaliser des tests, travailler en équipe etc… Une fois que vous êtes sûr que vos branches fonctionnent, vous pourrez alors migrer ces branches de travail sur la branche “master” qui est donc votre travail qui doit être en production.
Conclusion
Comme dit précédemment, il existe plusieurs services qui utilisent Git (GitHub, GitLab, BitBucket…). Microsoft a racheté GitHub en 2018 et comme avec Visual Studio Code, l’entreprise en fait un logiciel open source complet et facile d’accès (répertoires privés gratuits notamment). Si vous voulez avoir des outils un peu plus visuels pour avoir une représentation graphique de vos branches il existe notamment SourceTree, Ungit ou encore GitKraken.
Git est un outil puissant qui va bien plus loin que ce qui est présenté ici. N’hésitez pas à vous renseigner sur son fonctionnement, c’est vraiment un outil magique et indispensable à tout développeur. Encore une fois, le tuto complet de Grafikart que je vous met en vidéo ci-dessous est vraiment bien pour apprendre les bases. Je vous laisse également un lien vers un aide mémoire Git (réalisé par Github) et le livre référence ProGit si vous voulez devenir un expert Git et impressionner vos collègues.