Git est un système de contrôle de version qui a été inventé et développé par Linus Torvalds, également connu pour l’invention du noyau Linux, en 2005.

Il s’agit d’un outil de développement qui aide une équipe de développeurs à gérer les changements apportés au code source au fil du temps.

Les logiciels de contrôle de version gardent une trace de chaque changement apporté au code dans un type spécial de base de données.

Git est le plus connu des VCS (versionning control system), c’est un projet open source très puissant qui est utilisé par l’ensemble de la communauté des développeurs.

Pourquoi utiliser Git ?

Git permet de gérer les ajouts et changements apportés au code source de manière tracée.

Ainsi, si une erreur est commise, les développeurs peuvent revenir en arrière et comparer les versions antérieures du code, ce qui leur permet de corriger l'erreur tout en minimisant les perturbations pour tous les membres de l'équipe.

Git facilite donc le travail collaboratif en minimisant les risques de perte de travail et en permettant également aux développeurs de travailler chacun sur leur branches et donc en autonomie sans empiéter sur le travail des autres.

Durant les phases de test et de développement il convient alors pour les développeurs de travailler par branches afin d’éviter de polluer la branche principale.

Ces développements apportés sur leurs branches sont donc revus et corrigés avant de venir les fusionner sur la branche principale. Cela évite donc les régressions et favorise la découverte et la correction de bugs au sein d’un travail collaboratif.

Enfin, la sécurité et l’intégrité du code source géré par Git en fait un outil primordial. En effet, l'intégrité a été la priorité absolue lors de la conception de Git. Ainsi la traçabilité des changements ne peut jamais être remise en cause.

Les équipes de développement qui n'utilisent aucune forme de contrôle de version se heurtent souvent à des problèmes tels que le fait de ne pas savoir quels changements ont été mis à la disposition des utilisateurs ou l'apport de changements incompatibles entre deux éléments indépendants, qui doivent alors être minutieusement démêlés et retravaillés.

Outils complémentaires de Git

Quand on parle de Git on entend également souvent parler des systèmes d’hébergement et de gestion de code.

Les principaux sont Github, Gitlab ou bien BitBucket.

Ces hébergeurs sont complémentaires à Git et viennent en extension de celui-ci.

Ils permettent notamment d'héberger le code sur internet et donc de le rendre accessible facilement à vos équipes, tout en offrant une interface graphique simple et intuitive aux fonctionnalités prévues par Git.

Principales lignes de commande à connaître lors de l'utilisation de Git

Nous allons voir ici comment utiliser Git lors de la création et le développement d’un projet.

Ces utilisations sont à saisir en ligne de commande dans l’invité de commande.

A la première étape du projet, il s’agit de créer un projet ou bien d’en récupérer un déjà existant sur un hébergeur de code, tel que Github par exemple.

Si vous décidez de créer votre dépôt, alors la commande a exécuter est : git init

Si vous préférez récupérer un projet déjà existant, alors vous devez lancer la commande : git clone suivi de l’adresse url du projet.

Votre projet est alors créé et vous êtes actuellement sur la branche master. Durant la phase de développement, pour des raisons de sécurité, vous allez vous positionner sur une branche dédiée au développement en cours.

Pour cela vous lancez la commande git branch suivie du nom de la branche que vous souhaitez créer, ici par exemple : git branch dev

La commande git branch, quant à elle, liste les branches existantes.

Une fois que vous avez produit du code, vous souhaitez alors ajouter ces développements à votre projet.

Pour cela vous devez exécuter git add suivi des fichiers à ajouter.

Une fois ajouté, vous allez instancier un commit, qui permettra de tracer cet ajout, agrémenté d’un commentaire.

La commande est la suivante : git commit -m “texte expliquant le commit”

Dans le cadre d’un travail collaboratif et hébergé sur un outil de type github, vous pourriez également vouloir pousser vos modifications afin que vos collègues y aient accès et qu’elles ne restent pas uniquement en local sur votre machine.

La commande git push permet alors de publier ces modifications.

Ainsi un de vos collègues peut se positionner sur la branche dev et venir récupérer vos modifications sur son poste local, il exécute alors la commande git pull

Celle-ci permet de récupérer les dernières modifications du projet et les fusionne dans la branche actuelle.

Une fois vos modifications commit testées, vous pourriez souhaiter les ramener sur votre branche master.

Pour cela vous devez retourner sur celle-ci, la commande git checkout master vous y amènera.

Vous devez alors ramener les modifications effectuées sur la branche dev et les fusionner à la branche master.

La commande git merge suivie de la branche à récupérer vous permet de réaliser cette action. Ici : git merge dev

Enfin la commande git log peut être utile car elle permet d’afficher la liste des commits effectués sur la branche en question.

Au sein de Next Decision, nous utilisons en permanence Git dans nos projets.

N'hésitez pas à nous contacter pour échanger sur votre désir de formation Git ou bien sur votre projet de développement d’application. Notre équipe d'experts est à l'écoute de vos besoins. Rendez vous sur la page Contact