Comprendre les fondamentaux de Git

Introduction

La gestion de versions assure une collaboration efficace entre les membres d’une équipe et un suivi des modifications apportées au code source d’un projet. Avant l’avènement de Git, cette tâche était souvent laborieuse et sujette à des erreurs, mais Git a révolutionné la façon dont les développeurs travaillent ensemble. Dans cet article, nous allons explorer ce qu’est Git, comment les développeurs travaillaient manuellement avant son arrivée, et nous plonger dans une utilisation pratique et rudimentaire de Git.

Prérequis

Installer Git :

Windows : Téléchargez et installez Git depuis Git for Windows.
Mac : Utilisez Homebrew en exécutant brew install git dans le terminal.

Installer un Éditeur de Texte (VS Code) :

Téléchargez et installez Visual Studio Code depuis VS Code.

Qu’est-ce que Git ?

Git est un système de gestion de versions décentralisé, conçu pour suivre les modifications apportées au code source d’un projet au fil du temps. Il permet à plusieurs personnes de travailler sur un même projet simultanément, tout en préservant l’historique des modifications. Git offre une flexibilité et une puissance inégalées, ce qui en fait l’outil de gestion de versions le plus largement utilisé dans le domaine du développement logiciel.

L’Ère Pré-Git : Les Défis de la Gestion de Versions Manuelle

Avant l’avènement de Git, les développeurs utilisaient souvent des méthodes manuelles pour gérer les versions de leur code source. Cela impliquait généralement la création de copies de sauvegarde du projet à différents stades du développement. Les principaux défis de cette approche étaient les suivants :

  1. Perte d’historique : Les copies de sauvegarde ne fournissaient pas un historique clair des modifications, rendant difficile le suivi des évolutions du projet au fil du temps.
  2. Conflits fréquents : Lorsque plusieurs développeurs travaillaient sur différentes parties du code, les modifications pouvaient entrer en conflit lors de la fusion, entraînant des erreurs et des pertes de travail.
  3. Difficulté de Collaboration : La collaboration entre développeurs sur un même projet était souvent entravée, car la gestion manuelle des versions ne permettait pas une synchronisation fluide.

Utilisation Pratique de Git : Les Fondamentaux

1. Créer un nouveau dossier :

   mkdir MonProjet

Cette commande crée un nouveau dossier appelé “MonProjet” dans le répertoire actuel. C’est l’endroit où votre projet Git sera initié.

2. Accéder au dossier créé :

   cd MonProjet

Changez votre répertoire de travail vers le dossier que vous venez de créer.

3. Initialiser un nouveau référentiel Git :

   git init

Cette commande initialise un nouveau référentiel Git dans le dossier “MonProjet”, ce qui signifie que Git commence à suivre les changements dans ce dossier.

4. Utilisez VS Code pour créer un fichier :

code monFichier.txt

Ajoutez du contenu au fichier, puis sauvegardez et fermez l’éditeur.

5. Ajouter le fichier au suivi de Git :

   git add monFichier.txt

Lorsque vous utilisez git add, vous ajoutez le fichier spécifié au “suivi de Git”. Cela signifie que Git commencera à surveiller les modifications apportées à ce fichier.

6. Valider les modifications :

   git commit -m "Ajouter monFichier.txt avec du contenu"

Avec git commit, vous enregistrez les modifications que vous avez ajoutées au suivi de Git. Le message après -m est un commentaire décrivant les modifications que vous avez apportées.

7. Vérifier l’état du référentiel :

   git status

Cette commande vous donne l’état actuel de votre référentiel Git. Elle vous indique quels fichiers sont modifiés, ajoutés ou prêts à être validés.

8. Créer une nouvelle branche :

   git branch nouvelleFonctionnalite

Avant Git, imaginez que votre projet soit un dossier sur votre ordinateur. Chaque fois que vous vouliez essayer quelque chose de nouveau ou apporter des modifications risquées, vous feriez une copie complète de tout le dossier. C’était comme faire une sauvegarde, mais cela pouvait rapidement devenir encombrant et confus.

Avec Git, la création d’une nouvelle branche équivaut à créer un nouveau dossier sur votre ordinateur, par exemple nouvelleFonctionnalite, où vous placez tous les fichiers de votre projet. Chaque branche devient ainsi une version distincte de votre projet, permettant d’expérimenter et de développer de manière isolée.

9. Changer de branche :

   git checkout nouvelleFonctionnalite

git checkout vous permet de passer d’une branche à une autre. Vous êtes maintenant sur la branche “nouvelleFonctionnalite”.

10. Créer un nouveau fichier sur la nouvelle branche :

Créez un nouveau fichier spécifique à la nouvelle fonctionnalité, ajoutez du contenu, puis effectuez un commit, comme dans les étapes précédentes.

11. Revenir à la branche par défaut (master) :

   git checkout master

Revenez à la branche principale avec git checkout master.

12. Fusionner les branches :

   git merge nouvelleFonctionnalite

git merge fusionne la branche spécifiée dans la branche actuelle (dans ce cas, “nouvelleFonctionnalite” est fusionnée dans “master”).

Création d’un Dépôt Distant

Maintenant que vous comprenez les fondamentaux de Git, explorons comment partager votre travail avec d’autres personnes. Git facilite cela en utilisant un “dépôt distant”, une sorte de coffre-fort en ligne où vous pouvez stocker votre code.

Étape 1 : Créer un Compte sur Bitbucket
Rendez-vous sur le site Bitbucket et créez un compte si vous n’en avez pas déjà un. Bitbucket offre des dépôts Git gratuits. Bien que Bitbucket soit un excellent choix, il existe plusieurs services de dépôts Git qui offrent des fonctionnalités similaires comme GitHub et GitLab.

Étape 2 : Créer un Nouveau Dépôt
Connectez-vous à Bitbucket et cliquez sur le bouton “Create Repository”. Suivez les instructions pour créer un nouveau dépôt. Bitbucket vous donnera l’URL de votre dépôt, par exemple, https://bitbucket.org/votreNom/votreProjet.git.

Étape 3 : Ajouter un Dépôt Distant dans Git
Sur votre ordinateur, ouvrez un terminal dans le dossier de votre projet. Tapez la commande suivante en remplaçant l’URL par celle de votre dépôt Bitbucket :

git remote add origin https://bitbucket.org/votreNom/votreProjet.git

Étape 4 : Envoyer votre Code sur Bitbucket
Utilisez la commande Git pour pousser votre branche principale (habituellement main ou master) vers Bitbucket :

git push -u origin main

Maintenant, votre code est stocké en toute sécurité sur Bitbucket, et d’autres personnes peuvent y accéder. Git rend le travail en équipe plus facile en permettant à chacun de travailler sur sa propre branche, de partager ses idées, puis de fusionner ces idées dans le code principal (appelé la branche master) lorsque tout est prêt.

Inviter un Collaborateur sur Votre Dépôt Bitbucket

Travailler en équipe signifie parfois inviter d’autres personnes à contribuer à votre projet. Sur Bitbucket, cela se fait en invitant des collaborateurs à votre dépôt. Suivez ces étapes simples pour inviter quelqu’un sur votre dépôt Bitbucket :

Étape 1 : Accéder aux Paramètres du Dépôt sur Bitbucket

  • Connectez-vous à votre compte Bitbucket.
  • Accédez à la page principale de votre dépôt.
  • Cliquez sur l’onglet “Settings” (Paramètres).

Étape 2 : Inviter un Collaborateur

  • Dans la section “Access Management” (Gestion des Accès), cliquez sur “Access” (Accès).
  • Sous “Users and Groups” (Utilisateurs et Groupes), entrez le nom d’utilisateur ou l’adresse e-mail de la personne que vous souhaitez inviter.

Étape 3 : Sélectionner le Niveau d’Accès

  • Choisissez le niveau d’accès que vous souhaitez accorder à cette personne. Les niveaux courants incluent “Read” (Lecture) et “Write” (Écriture). La plupart du temps, les contributeurs auront besoin du niveau “Write” pour pouvoir pousser leurs modifications.

Étape 4 : Envoyer l’Invitation

  • Cliquez sur “Add” (Ajouter) pour envoyer l’invitation à la personne. Elle recevra une notification et pourra accepter l’invitation pour commencer à contribuer au projet.

Inviter des collaborateurs permet à votre équipe de travailler ensemble sur le même dépôt, chacun pouvant créer des branches, apporter des modifications et contribuer à l’amélioration du code. Cette collaboration facilite le suivi des modifications, favorise une meilleure communication et renforce l’efficacité du processus de développement.

Conclusion

En conclusion, comprendre Git et son utilisation peut considérablement améliorer la gestion de votre code source et la collaboration au sein d’une équipe de développement. Avant l’arrivée de Git, les développeurs utilisaient souvent des méthodes manuelles, copiant et sauvegardant des versions de projet dans des dossiers différents, ce qui pouvait être source d’erreurs et de confusion.

Avec Git, la création de branches devient une pratique fondamentale. Une branche est comme une version virtuelle de votre projet, vous permettant d’expérimenter de nouvelles fonctionnalités ou de résoudre des problèmes sans affecter la version principale. Cela apporte une flexibilité et une sécurité considérables au processus de développement.

L’utilisation de Git pour suivre les modifications, créer des branches, fusionner des branches et collaborer avec d’autres développeurs devient rapidement une compétence essentielle. En adoptant un service de dépôts Git comme Bitbucket, vous pouvez également partager votre travail avec d’autres et collaborer de manière transparente.

N’oubliez pas que Git offre une multitude d’options et de fonctionnalités avancées pour répondre à divers besoins de développement. En continuant à explorer et à pratiquer, vous affinerez votre maîtrise de Git et optimiserez votre flux de travail de développement.

Enfin, quelle que soit la plateforme que vous choisissez pour héberger vos dépôts Git, que ce soit Bitbucket, GitHub, GitLab ou autre, l’essentiel est de comprendre les concepts fondamentaux de Git. Ces connaissances constituent un atout inestimable dans le monde du développement logiciel moderne.

Mamadou Diagne
Mamadou Diagne
Architecte logiciel & CTO

Diplômé d'ETNA, la filière d'alternance d'Epitech, j'ai acquis une expertise solide dans le développement d'applications, travaillant sur des projets complexes et techniquement diversifiés. Mon expérience englobe l'utilisation de divers frameworks et langages, notamment Symfony, Api Platform, Drupal, Zend, React Native, Angular, Vue.js, Shell, Pro*C...

0 0 votes
Évaluation de l'article
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Ingénierie informatique (SSII)

Applize crée des logiciels métiers pour accompagner les entreprises dans la transition vers le zéro papier.


Avez-vous un projet en tête ? Discutons-en.