En gestion de projets ou lors de vos développements personnels, vous avez pu rencontrer cette technologie que l’on appelle Git et que beaucoup d’entreprises, de professionnels et de novice dans le domaine de la programmation informatique peuvent vous vanter.
Qu-est-ce que Git
Git est un logiciel de gestion de version décentralisé, concrètement, cet outil vous permettra de stocker votre code lors de vos développements, le code est stocké par des numéros de version, ainsi, vous n’aurez aucun mal à revenir en arrière si des erreurs de développement ont été commises.
Git est une solution Open Source (libre de droits et donc gratuit) que vous pouvez télécharger depuis le site internet officiel du projet et installer sur votre propre machine afin de vous créer un serveur Git personnel. Dans la plupart des cas, vous pouvez aussi avoir recours à des services en ligne proposant de l’hébergement de code source sur un serveur Git, quelques solutions gratuites ou partiellement gratuites existent sur internet, on retiendra notamment GitHub (très répandu) et BitBucket (un peut moins connue), deux solutions qui vous permettront de stocker vos codes sources dans le Cloud.
Cet outil peut s’avérer très intéressant lors de vos développements, il peut vous permettre notamment de stocker votre code sur un serveur Git et de pouvoir y accéder depuis n’importe où à condition de disposer bien sûr d’une connexion internet.
Cet outil est également très utilisé par les communautés de développeurs sur des projets Open Sources, il permet le travail collaboratif et permet de vous avertir en cas de conflits de version, cas que l’on rencontre lorsque deux personnes éditent le même fichier par exemple et que leur enregistrement pose un conflit risquant d’engendrer la perte d’une partie du code. Git vous signale le conflit et permet aux développeurs de modifier le code avant d’envoyer une version définitive, ce qui permet d’éviter d’écraser une des deux versions et donc de la perdre.
Comment ça marche ?
Le fonctionnement de Git est orchestré par quelques mots-clés qu’il va falloir assimiler: tout d’abord, il faut savoir qu’avant d’envoyer les fichiers sur un serveur, les fichiers sont stockés dans votre ordinateur, dans un espace disque local que l’on appelle la « Repository ». Lorsque l’on parle d’envoyer des fichiers sur notre « Repository » on parle de « Commit », lorsque vous « Commitez » vos fichiers, ces derniers sont donc présents dans notre « Repository ».
Il faut savoir que Git se compose donc d’une version locale mais également d’une version « Online » (sur GitHub ou Bitbucket par exemple). Ainsi, lorsque vous avez « Commiter » votre projet, vous devez maintenant l’exporter sur votre « Repository » en ligne, on appellera cela le « Push ».
Inversement lorsque vous souhaitez récupérer un projet depuis GitHub par exemple, vous allez devoir « Cloner » ce projet. Une fois le projet cloné, vous devrez effectuer un « Fetch » qui récupérera le code depuis le serveur Git, et un « Merge » afin de pouvoir intégrer le code du projet cloner dans votre environnement de développement.
Une fois le code disposé dans votre environnement de développement, dès lors que vous effectuez une modification, il vous faudra effectuer un « Commit », puis un « Push » afin d’enregistrer les changements dans le serveur local puis dans le serveur distant.
Les Branches
Le fonctionnement en branche vous permet à un moment clé de pouvoir spécialiser votre développement autour d’un axe sans pour autant quitter les axes de développements principaux de votre code. Concrètement, si je développe actuellement un logiciel de comptabilité à destination d’entreprises de tous les secteurs mais que lors de ma progression, je reçois une demande particulière en provenance d’un type de secteur d’activité, je peux créer une sorte de doublon de mon code mais celui-ci intégrera des éléments spécifiques à ce secteur d’activité, sans que cela n’influe sur le développement de mon logiciel principal, c’est un des cas d’utilisation des branches.
On peut également utiliser les branches dans le cas où nous sommes sur le développement d’une application, mais que notre précédente version présente un bogue important, nous en tiendrons compte sur la version suivante, mais en attendant que cette dernière soit développée, nous pouvons créer une branche à partir de la version précédente qui corrigera ce bogue pour cette version antérieure.
Utilisation
Vous pouvez utiliser Git à travers d’un environnement de développement tel qu’Eclipse, mais vous pouvez également le gérer depuis votre ordinateur, pour cela, vous aurez en effet besoin d’installer un « client » Git, c’est-à-dire une application sur votre ordinateur vous permettant de réaliser les différents traitements que je vous ai décris précédemment. Vous pouvez pour la version client utiliser l’une des applications avec interface graphique qui vous est proposée sur le site officiel du projet. Je vous redirige vers la documentation officielle qui vous permettra d’approfondir vos connaissances sur le domaine.