Git


Introduction

Git est un outil de gestion de version – ou versionning – open source décentralisé qui permet aux développeurs de gérer leurs projets plus facilement et efficacement. Il permet à une équipe de travailler sur des projets en collaboration, partager des fichiers et de résoudre facilement des conflits entre les versions. Il peut aussi fournir des sauvegardes à tout moment, sauvegardes auxquelles on peut remonter sans toucher à la version principale du projet. De plus, Git tient un historique de tous les fichiers qui ont été modifiés.

Contexte professionnel

Professionnellement, Git est devenu une référence pour la gestion de version des projets informatiques. Il est aujourd'hui utilisé à grande échelle comme par Google, Microsoft ou bien encore Netflix pour gérer des projets conséquents. C'est un outil extrêmement puissant et d'une accessibilité remarquable.

J'ai eu l'opportunité de travailler avec Git durant mon stage et mon alternance chez UPSA. Dans l'entreprise, le service IT possédait un repo – plateforme permettant de gérer les projets Git – sur lequel était recensé toutes les applications développées en interne. Si une fonctionnalité devait voir le jour, elle était constamment versionnée avec cette plateforme.

Experience

Lors d'un déploiement d'une solution web au service des collaborateurs, j'ai réalisé au préalable de la MEP - Mise en production - un nettoyage des fichiers en supprimant ceux en trop qui ne servaient plus, cela devait permettre d'alléger le projet et de ne pas noyer les futurs développeurs sous des fichiers inutilisés.

A la suite, mensuellement, nous planifions une réunion qui permettait de recueillir les besoins utilisateurs et nous les trions par ordre de priorité. Une fois cela fait, nous validions la future mise à jour avec les features – fonctionnalités – qui seraient implémentées sur l'application web.

Lors du développement d'une de ces versions, en voulant ajouter une des features, je me suis rappelé qu'elle avait déjà été écrite mais ensuite supprimée avant la mise en production de l'outil – dû à un changement de direction lors d'une version précédente –.

Etant donné que la totalité de la solution était versionnée avec Git, j'ai pu profiter de sa souplesse pour restaurer cette feature rapidement et simplement en ligne de commande. J'ai pu gagner un temps précieux dans la réalisation de ma tâche. Evidemment j'ai dû réadapter légèrement le code mais une grande partie du travail était déjà réalisée et tout n'était pas à redévelopper.

Mon autocritique

Git peut être utilisé pour tout type de projet informatique, il n'y a pas d'exception au contraire. La marge d'apprentissage est assez rapide, il faut néanmoins se familiariser avec la logique de l'outil qui n'est pas évidente au début.

Futur et conseils

M'étant déjà servi de Git pour gérer divers projets, je me considère comme autonome avec celui-ci. Je me sens capable de l'utiliser régulièrement et facilement. En revanche je n'utilise pas de logiciels graphiques mais bien l'invite de commande – Git Bash – que je préfère de loin.

J'essaye d'utiliser Git pour tous mes projets personnels ou professionnels mais mon utilisation de l'outil reste assez simple. Git propose des fonctionnalités très poussées que je n'ai pas eu encore l'occasion d'expérimenter. Je compte m'informer davantage à l'avenir grâce à la documentation en ligne.
A toute personne intéressée qui me demanderait conseil, je lui dirais de commencer par utiliser Git en ligne de commande, ceci permet, selon moi, de mieux appréhender le fonctionnement de l'outil. De plus, le fait de travailler en ligne de commande vous forcera à retenir les différents processus de « versionning » de Git (push, pull, rebase, commit etc).

Dans mon métier actuel, Git rejoint efficacement mes compétences pour le développement FullStack. C’est un atout pour pouvoir développer dans la sérénité et je compte bien continuer à l’utiliser.


Projets associés à cette compétence