Tuto GIT Guide Complet Pour une Prise en Main Rapide !

Les systèmes de contrĂ´le de version aident les dĂ©veloppeurs Ă  analyser plus facilement les modifications et les contributions apportĂ©es Ă  du code collaboratif. Un VCS est un Ă©lĂ©ment essentiel d’un système de gestion de dĂ©veloppement logiciel. Les modifications / rĂ©visions / mises Ă  jour effectuĂ©es sont identifiables avec des lettres ou des chiffres. Des informations comme la date de modification et l’identitĂ© du modificateur sont Ă©galement renseignĂ©es. Dans ce tutoriel GIT, nous vous apprendrons Ă  utiliser un des système de gestion les plus connus : GIT. Vous apprendrez Ă  l’installer et Ă  l’utiliser.

Qu’est-ce que GIT?

En 2005, Linus Torvalds (l’homme connu pour la crĂ©ation du noyau Linux OS) a dĂ©veloppĂ© GIT et depuis, il est activement maintenu par Junio ​​Hamano, un dĂ©veloppeur et ingĂ©nieur logiciel japonais. Aujourd’hui, GIT est l’un des systèmes de contrĂ´le de version open source les plus cĂ©lèbres et des millions de projets Ă  travers le monde s’appuient sur GIT pour la gestion de ceux ci (cela inclut des projets commerciaux et open-source). GIT est un logiciel libre et entièrement gratuit et peut ĂŞtre tĂ©lĂ©chargĂ© pour Mac, Linux, Windows et Solaris depuis le site officiel. Certaines des caractĂ©ristiques de GIT:

  1. Un système de gestion de versions distribuĂ©, GIT a une approche peer to peer contrairement Ă  d’autres tels que Subversion (SVN) qui optent pour l’approche client-serveur .
  2. GIT permet aux dĂ©veloppeurs d’avoir une plĂ©thore de branches de code indĂ©pendantes. La crĂ©ation, la suppression et la fusion de ces branches est transparente et prend peu de temps.
  3. Dans GIT, toutes les opĂ©rations sont atomiques; Cela signifie qu’une action peut soit rĂ©ussir soit Ă©chouer (sans aucune altĂ©ration). Cela est important parce que dans certains systèmes de gestion de versions (comme CVS) oĂą les opĂ©rations sont non-atomiques, si une opĂ©ration dans le dĂ©pĂ´t est laissĂ©e en suspens, elle peut laisser le dĂ©pĂ´t dans un Ă©tat instable.
  4. Dans GIT, tout est stockĂ© dans le dossier .git. Ce n’est pas la mĂŞme chose dans d’autres VCS comme SVN et CVS oĂą les mĂ©tadonnĂ©es des fichiers sont stockĂ©es dans des dossiers cachĂ©s (par exemple .cvs, .svn, etc.)
  5. GIT utilise un modèle de donnĂ©es qui aide Ă  garantir l’intĂ©gritĂ© cryptographique de tout ce qui est prĂ©sent dans un dĂ©pĂ´t. Chaque fois qu’un fichier est ajoutĂ© ou qu’une validation est effectuĂ©e, des sums de contrĂ´le sont gĂ©nĂ©rĂ©s. Aussi, ils sont rĂ©cupĂ©rĂ©s via leurs sums de contrĂ´le.
  6. Une autre excellente caractĂ©ristique prĂ©sente dans GIT est sa zone de classement ou index. Dans l’index, les dĂ©veloppeurs peuvent formater les modifications et les faire rĂ©viser avant de les appliquer rĂ©ellement.

GIT est très simple Ă  utiliser. Pour commencer, vous pouvez soit crĂ©er un dĂ©pĂ´t soit en rejoindre un. Après l’installation, un simple git-init mettra tout ce qu’il faut en place. git clone vous permettra de crĂ©er une copie du dĂ©pĂ´t pour le modifier en local.

Étape 1 – Installation de GIT sur diffĂ©rents systèmes

Voici les manières les plus simples d’installer GIT:

Option 1 – Installation de GIT sous Windows:

L’installation de GIT sous Windows OS est devenue aussi simple que de tĂ©lĂ©charger un programme d’installation et de l’exĂ©cuter. ProcĂ©dez comme suit pour configurer GIT sur une machine Windows:

  1. Visitez ce site Web et tĂ©lĂ©chargez l’installateur GIT pour Windows.
  2. Une fois tĂ©lĂ©chargĂ©, double-cliquez sur l’exĂ©cutable pour lancer l’assistant d’installation. Il suffit de suivre les instructions Ă  l’Ă©cran, de continuer Ă  cliquer sur Suivant et enfin Terminer pour terminer l’installation.
    git install windows
  3. Ouvrez une invite de commande. Dans celles-ci, entrez les commandes suivantes:
    git config --global user.name "Mon Nom" git config --global user.email "votreemail@votreemail.com"
  4. Note: N’oubliez pas de remplacer Mon Nom et votreemail@votreemail.com par vos propres informations. Toute modification faite ultĂ©rieurement sera associĂ©e Ă  ces dĂ©tails.

C’est tout ce qu’il vous faut pour installer GIT sur Windows !

Option 2 – Installation de GIT sur MacOS:

Il existe plusieurs façons d’installer GIT sur un pĂ©riphĂ©rique Mac. Il y a une chance que GIT soit dĂ©jĂ  prĂ©sent sur votre ordinateur si vous avez XCode d’installĂ©. ExĂ©cutez la commande suivante sur un terminal pour vĂ©rifier:

git –version

Si vous obtenez une sortie comme git version 2.7.0 (Apple Git-66) , alors vous avez GIT d’installĂ©. Mais si vous n’avez rien Ă  l’écran, effectuez les Ă©tapes suivantes:

  1. Visitez ce site Web et tĂ©lĂ©chargez le dernier programme d’installation pour Mac.
  2. Suivez les instructions Ă  l’Ă©cran et terminez l’installation.
    git installer macos
  3. Essayez de nouveau la commande git –version  afin de confirmer que l’installation a rĂ©ussi.
  4. ExĂ©cutez les commandes suivantes sur un terminal pour configurer votre mail et nom d’utilisateur qui doivent ĂŞtre associĂ©s Ă  votre compte GIT:
    git config --global user.name "Mon Nom" git config --global user.email "votreemail@votreemail.com"
  5. Note: N’oubliez pas de remplacer Mon Nom et votreemail@votreemail.com par vos propres informations. Toute modification faite ultĂ©rieurement sera associĂ©e Ă  ces dĂ©tails.

Option 3 – Installation de GIT sous Linux:

Si vous ĂŞtes un utilisateur Linux, vous devriez ĂŞtre habituĂ© Ă  installer des logiciels et des paquets sur votre ordinateur avec des commandes d’installation telles que apt-get ou yum install. L’installation de GIT est similaire:

Pour installer Git sur Ubuntu ou Debian (apt-get):

  1. Ouvrez un terminal et exécutez les commandes suivantes:
    sudo apt-get update Sudo apt-get install git
  2. VĂ©rifiez que vous avez bien installĂ© GIT avec git –version .
  3. ExĂ©cutez les commandes suivantes sur un terminal afin de configurer l’email et le nom d’utilisateur qui doivent ĂŞtre associĂ©s Ă  votre compte GIT:
    git config --global user.name "Mon Nom" git config --global user.email "votreemail@votreemail.com"
  4. Note: N’oubliez pas de remplacer Mon Nom et votreemail@votreemail.com par vos propres informations. Toute modification faite ultĂ©rieurement sera associĂ©e Ă  ces dĂ©tails.

Fedora (yum / dnf):

Vous pouvez récupérer les paquets GIT en utilisant à la fois yum et dnf.

  1. Ouvrez un terminal et exécutez les commandes suivantes:
    sudo dnf install git Sudo yum install git
  2. VĂ©rifiez que vous avez bien installĂ© avec git –version  .
  3. ExĂ©cutez les commandes suivantes sur un terminal afin de configurer le mail et le nom d’utilisateur qui doivent ĂŞtre associĂ©s Ă  votre compte GIT:
    git config --global user.name "Mon Nom" git config --global user.email "votreemail@votreemail.com"
  4. Note: N’oubliez pas de remplacer Mon Nom et votreemail@votreemail.com par vos propres informations. Toute modification faite ultĂ©rieurement sera associĂ©e Ă  ces dĂ©tails.

Étape 2 – Utilisation de GIT

Maintenant que GIT est configuré sur votre périphérique Windows / Mac / Linux, nous allons explorer les bases de GIT. Et comment vous pouvez commencer à utiliser GIT.

  • CrĂ©ation / configuration / extraction d’un dĂ©pĂ´t:

Le dĂ©pĂ´t est la chose la plus importante d’un projet. Pour transformer n’importe quel dossier en un dĂ©pĂ´t GIT, on peut utiliser la commande simple git init <dossier>  . Un dossier nommĂ© .git sera créé quand la commande aura Ă©tĂ© exĂ©cutĂ©e.

Inversement, si vous avez dĂ©jĂ  un dossier et que vous souhaitez le cloner, vous pouvez utiliser la commande git clone . Si vous essayez de consulter un dĂ©pĂ´t local, utilisez la commande suivante:

git clone /chemin/vers/le/dossier/local

Si vous avez l’intention de vĂ©rifier un dĂ©pĂ´t stockĂ© Ă  distance, utilisez

git clone utilisateur@hote:/chemin/vers/le/dépôt

Si vous avez un compte Hostinger, vous pouvez facilement cloner et gĂ©rer des dĂ©pĂ´ts via la zone AvancĂ© -> GIT . Par exemple, si vous voulez cloner un dĂ©pĂ´t GIT, entrez simplement son adresse, choisissez une branche, choissisez un rĂ©pertoire et cliquez sur le bouton CrĂ©er.

Zone Git dans la section Avancé sur hPanel

Une fois la création terminée, vous pourrez gérer votre dépôt dans la même section.

  • Le Workflow:

Maintenant qu’un dĂ©pĂ´t a Ă©tĂ© mis en place, parlons de la structure de GIT. Chaque dĂ©pĂ´t local se compose de trois “arbres” : le dossier de travail qui contient les fichiers actuels; l’ index qui joue le rĂ´le d’une zone de transit et le HEAD qui est un pointeur vers le dernier commit effectuĂ© par l’utilisateur. Voici le workflow : l’utilisateur ajoute un fichier ou des modifications Ă  l’index (la zone de dĂ©ploiement) et une fois revues, le fichier ou les modifications sont finalement confiĂ©es au HEAD .

  • Les commandes add et commit:

Les modifications proposĂ©es ou les ajouts de fichiers sont ajoutĂ©s Ă  l’index Ă  l’aide de la commande add. Pour ajouter n’importe quel fichier, la commande est:

git add <nom_fichier>

Si vous ĂŞtes assez confiant pour effectuer ces changements dans votre HEAD , vous pouvez utiliser la commande commit:

git commit –m “Message pour décrire le commit”

Remarque: Une fois la commande commit exĂ©cutĂ©e (Ă  partir du dossier de travail), le fichier est affectĂ© au HEAD , mais il n’est toujours pas envoyĂ© au dĂ©pĂ´t distant.

  • Pousser les changements plus loin:

Une fois que vous avez validĂ© les modifications (et pensez qu’elles sont prĂŞtes Ă  ĂŞtre envoyĂ©es au dĂ©pĂ´t d’origine), vous pouvez utiliser la commande push.

Une fois que git push origin master  est exĂ©cutĂ© Ă  partir du dossier de travail, les changements prĂ©sents dans HEAD sont envoyĂ©s au dĂ©pĂ´t distant. Dans la commande mentionnĂ©e ci-dessus, le master peut ĂŞtre changĂ© par le nom de la branche Ă  laquelle vous souhaitez que les modifications soient effectuĂ©es.

Cependant, si un dĂ©pĂ´t existant n’a pas encore Ă©tĂ© clonĂ© et que vous souhaitez Ă©tablir une connexion entre votre dĂ©pĂ´t et un serveur distant, procĂ©dez comme suit:

git remote add origin <serveur>

Remarque: Remplacez <serveur> par l’adresse du serveur distant.

Une fois cloné, les modifications effectuées seront envoyées au serveur concerné.

  • Branches:

Une autre caractĂ©ristique brillante (et avancĂ©e) de GIT est la possibilitĂ© de crĂ©er plusieurs branches indĂ©pendantes au sein d’un mĂŞme projet. Le but principal d’une branche est de dĂ©velopper des fonctionnalitĂ©s tout en les maintenant isolĂ©es l’une de l’autre. La branche par dĂ©faut dans tout projet est toujours la branche master. On peut crĂ©er autant de branches que nĂ©cessaire et finalement fusionner avec la branche master.

Une nouvelle branche peut ĂŞtre créée Ă  l’aide de la commande suivante:

git checkout -b fonctionnalité_n *

fonctionnalitĂ©_n est le nom de la branche

Si vous désirez revenir à la branche master principale, vous pouvez utiliser la commande suivante:

git checkout master

Toute branche peut être supprimée en utilisant la commande suivante:

git checkout -b fonctionnalité_n

Pour rendre la branche disponible aux autres utilisateurs, vous devrez la push vers le dépôt distant; Pour ce faire, utilisez la commande suivante:

git push origin fonctionnalité_n
  • Mise Ă  jour et fusion:

Dans le cas oĂą vous souhaitez mettre Ă  jour votre dossier de travail local Ă  jour, la commande git pull  peut ĂŞtre utilisĂ©e.

Pour fusionner (merge) une autre branche dans celle actuellement active, utilisez: git merge fonctionnalitĂ©_n  .

Avec push ou merge, GIT essaie toujours de gĂ©rer les conflits lui-mĂŞme, mais parfois il ne peut pas. En cas d’Ă©chec en raison de conflits, l’utilisateur doit rĂ©soudre les conflits manuellement. Une fois que vous avez Ă©ditĂ© les fichiers (pour Ă©liminer les conflits), marquez-les comme fusionnĂ©s en utilisant:

git add <nom.fichier>

Si avant de fusionner vous souhaitez afficher les modifications, la commande suivante peut être exécutée:

git diff <nom_de_branche_source> <nom_de_branche_cible>
  • Étiquetage:

Avant de faire des mises à jour/modifications, il vous est recommandé de créer des étiquettes. Pour ce faire sur GIT, utilisez la commande suivante:

git tag 1.1.0 1c2d2d56fa

Le 1c2d2d56fa dans la commande ci-dessus se rĂ©fère aux 10 premiers caractères du commit-id rĂ©fĂ©rencĂ© avec la balise. L’ID de validation peut ĂŞtre trouvĂ© Ă  partir du journal.

  • Log:

L’historique du dĂ©pĂ´t peut ĂŞtre Ă©tudiĂ© avec le log. La commande git log  le rĂ©cupère. Pour rĂ©cupĂ©rer les commits effectuĂ©s par un seul utilisateur, vous pouvez utiliser:

git log --author =Smith

Une version compressée du journal (un commit par ligne) peut être visualisée en utilisant:

git log --pretty=oneline

Pour afficher uniquement les fichiers qui ont été modifiés:

git log --nom-statut
  • Remplacement des modifications locales:

Si vous avez fait une couille et souhaitez revenir sur les modifications apportĂ©es Ă  n’importe quel fichier, faites-le en utilisant la commande suivante:

git checkout -- <nomfichier>

Cela remplacera les changements d’arbre de travail par les dernières donnĂ©es prĂ©sentes dans le HEAD . Tous les changements qui ont Ă©tĂ© ajoutĂ©s Ă  l’index ne seront pas pris en compte.

Ă€ l’inverse, si tous les changements / commits locaux doivent ĂŞtre supprimĂ©s et que la branche master locale doit pointer vers l’historique le plus rĂ©cent du serveur, exĂ©cutez les commandes suivantes:

git fetch origin git reset --hard origin/master

Conclusion

Il est important dans un système de dĂ©veloppement d’avoir un logiciel qui vous aide Ă  gĂ©rer les modifications. Ce tutoriel de base sur GIT devrait permettre Ă  tout dĂ©veloppeur d’utiliser facilement GIT. Nous vous rappelons que c’est un système de contrĂ´le de version rigoureux (et très utile) avec tout un tas de fonctionnalitĂ©s utiles. Si vous avez besoin d’autres informations, la documentation officielle de la GIT pourra vous ĂŞtre utile !

J’espère vous avoir été utile ! Nous nous reverrons bientôt pour un futur tutoriel !

Author
L'auteur

Abdelali Ait El Houssaine

🎮 Passionné de jeux vidéo et toujours curieux d’apprendre, je partage mes découvertes à travers des tutoriels sur le web et les outils digitaux. Entre optimisation de sites et exploration de nouvelles fonctionnalités, mon but est de rendre la tech plus accessible. 🚀