https://d226lax1qjow5r.cloudfront.net/blog/blogposts/an-introduction-to-git-dr/Blog_GitHub-Desktop_Pull-Requests_1200x600.png

Introduction à Git

Publié le April 19, 2021

Temps de lecture : 14 minutes

Vonage est ravi d'être un partenaire du Hacktoberfest 2020. Nous ne sommes pas pas étrangers à l'open sourceavec nos bibliothèques, nos extraits de code et nos démonstrations sur GitHub. Pour vous immerger totalement dans les festivités, n'oubliez pas de consulter notre page Hacktoberfest pour en savoir plus sur tout ce que nous avons prévu !

Qu'est-ce que Git ?

Git est un système de contrôle de version distribué destiné à permettre aux développeurs de suivre les modifications apportées à tous les fichiers de leurs projets. Git a été conçu pour permettre aux développeurs de coordonner les nouvelles fonctionnalités et les corrections de bogues sur différentes branches entre plusieurs personnes.

Comment installer Git ?

Ce tutoriel traite de Git en tant qu'outil en ligne de commande ; cependant, il existe de fantastiques interfaces graphiques (GUI) pour Git, telles que GitHub Desktop et Git Kraken.

Tout d'abord, vérifiez si Git est installé sur votre ordinateur. Dans votre Terminal ou votre invite de commande, tapez `git --version`. S'il est installé, vous devriez voir une sortie similaire à l'image ci-dessous :

An image showing the output of a command line request for git --version

Si vous n'avez pas installé Git, veuillez vous rendre sur le site git-scm.com pour télécharger et obtenir des instructions sur l'installation de Git sur votre système d'exploitation.

Créer un référentiel local

Un nouveau projet utilisant Git nécessite la création d'un nouveau dépôt. Pour créer votre premier dépôt sur votre machine locale, dans votre Terminal, assurez-vous que vous êtes dans le répertoire que vous avez l'intention d'utiliser comme répertoire de votre projet, puis exécutez ce qui suit :

git init

Cette commande crée un répertoire .git Ce répertoire contient les informations nécessaires à la gestion des versions de votre projet. Ce répertoire contient les informations nécessaires à la gestion des versions de votre projet. Il contient également des informations sur les branches du projet, les commits et, si vous hébergez votre dépôt git à distance, l'adresse de ce dépôt distant. Le fait de disposer de toutes ces informations vous permet de savoir entre quelles branches vous pouvez basculer pour différentes raisons, ainsi que de revenir à différents commits dans l'historique si nécessaire.

Ajouter des fichiers au référentiel

A ce stade, votre référentiel est vide, donc, pour ajouter du contenu au référentiel, créez un fichier dans ce répertoire de projet. Il peut s'agir de n'importe quoi. Par exemple, un fichier README.md qui est le fichier par lequel les gens ont tendance à commencer lorsqu'ils découvrent un référentiel + c'est le fichier par défaut affiché sur un service de référentiel Git tel que Github ou Bitbucket.

Là encore, en ligne de commande, mais vous pouvez utiliser un éditeur de texte ou un IDE pour créer de nouveaux fichiers dans votre projet.

touch README.md echo 'This is the README file for my first Git repository' >> README.md

Si vous ouvrez ensuite votre fichier, vous verrez le texte suivant This is the README file for my first Git repository.

Validation des nouveaux fichiers

À ce stade, votre dépôt Git est encore techniquement vide. Vous avez créé le fichier mais, si vous tapez git status vous verrez quelque chose de similaire à l'image ci-dessous :

An image showing the output of a command line request for git status

Comme le montre l'image ci-dessus, la première ligne vous indique dans quelle branche vous vous trouvez, et la deuxième ligne vous explique si vous avez des commits non poussés. Ensuite, vous verrez les fichiers non suivis qui listent les fichiers que vous n'avez pas encore livrés ; dans ce cas, il s'agit du fichier README.md fichier.

Il est maintenant temps d'ajouter ce fichier pour le livrer à l'historique.

git add README.md git commit -m "This is my first commit message"

La ramification

Jusqu'à présent, vous avez créé un nouveau dépôt, puis ajouté votre fichier à ce nouveau dépôt vide. Et si vous vouliez apporter une modification à votre fichier mais que vous craigniez de casser quelque chose ? Ou si vous avez plusieurs personnes qui contribuent à votre dépôt et que vous voulez avoir un certain contrôle sur ce qui finit dans votre branche principale ? L'utilisation de branches est très utile dans ce cas, pour permettre à différentes versions du code d'exister en même temps.

Vous pouvez créer une nouvelle branche en tapant la commande suivante :

git checkout -b

Si vous souhaitez voir quelles sont les branches disponibles, tapez : git branch pour obtenir la liste des branches présentes localement sur votre machine.

Ajouter de nouveaux fichiers à la nouvelle branche

Votre nouvelle branche est alors une copie exacte de votre branche principale. Créez un nouveau fichier dans cette nouvelle branche pour la rendre différente de la branche principale. L'exemple ci-dessous crée un fichier README2.md contenant un message :

touch README2.md echo 'This is the README2 file for my first Git repository, in the second branch' >> README2.md

Confirmez maintenant cette modification en procédant comme suit :

git add README2.md git commit -m "This is my second commit message."

Comparer les différences entre la branche primaire et la nouvelle branche

Votre nouvelle deuxième branche est maintenant désynchronisée de la branche principale. Si vous voulez voir les différences entre les deux branches, exécutez la commande similaire à : git diff main..feature-a en remplaçant main par le nom de votre branche primaire et feature-a avec votre deuxième branche. La sortie sera similaire à celle ci-dessous, qui montre qu'un fichier README2.md existe dans une branche mais pas dans l'autre.

diff --git a/README2.md b/README2.md
new file mode 100644
index 0000000..90372ea
--- /dev/null
+++ b/README2.md
@@ -0,0 +1 @@
+This is the README2 file for my first Git repository, in the second branch

Retournez dans votre branche principale avec la commande : git checkout <primary branch name>.

Il est maintenant temps de s'intéresser à GitHub et à l'hébergement de votre dépôt à distance.

GitHub

Github est une plateforme d'hébergement à distance pour stocker vos dépôts Git. Ce service vous permet de confier votre contrôle de version à un tiers et de collaborer avec d'autres personnes sur des projets.

Créer un dépôt sur GitHub

Rendez-vous sur GitHub pour créer un nouveau dépôt. Vous obtiendrez un écran similaire à celui que vous voyez ci-dessous. Assurez-vous d'ajouter l'élément Repository name puis cliquez sur Create repository.

An image showing the page when creating a GitHub Repository

Une fois créé, quelques options vous sont proposées pour configurer votre référentiel. Comme vous avez déjà le référentiel localement, choisissez la troisième option ci-dessous où il est écrit ...or push an existing repository from the command line.

Image showing the output on the page when a GtiHub repository is created.

Créer une demande de retrait (Pull Request)

Vous avez maintenant créé votre dépôt GitHub et poussé votre branche primaire vers le dépôt distant. Ensuite, poussez votre deuxième branche en tapant la commande suivante dans votre Terminal :

git push -u origin

Ensuite, dans Github, naviguez vers votre dépôt, cliquez sur "Create Pull Request", et cliquez sur le nom de votre deuxième branche. Vous arrivez sur une page avec une liste de changements. Ces modifications indiquent les commits et les fichiers modifiés. Cliquez à nouveau sur le bouton "Create Pull Request" pour accéder à une page contenant deux champs de saisie.

Cette partie de la création d'une demande d'extraction vous permet de décrire les changements que vous souhaitez voir fusionner dans la branche primaire. C'est une bonne pratique d'être aussi descriptif que possible dans la boîte de description. Cette page permettra à quiconque de comprendre quels sont les changements et quel est leur impact sur le projet en cours.

Une fois que vous êtes satisfait du titre, de la description, et si vous voulez ajouter quelqu'un pour réviser votre demande de retrait, cliquez sur le bouton "Créer une demande de retrait". Cliquez sur le bouton "Créer une demande de retrait".

Vous ou vos co-contributeurs pouvez maintenant examiner les modifications et déterminer si elles doivent être fusionnées dans la branche principale.

Si vous êtes d'accord pour fusionner cette branche, cliquez sur le bouton "Merge Pull Request". Vous avez maintenant fusionné vos modifications dans la branche primaire.
Si vous retournez à votre terminal, assurez-vous que vous êtes sur la branche primaire, puis tapez git pullvous verrez que le fichier que vous avez ajouté à la deuxième branche est maintenant dans votre branche primaire !

Conclusion

Si vous avez suivi ce tutoriel du début à la fin, vous avez maintenant installé Git sur votre machine locale, ajouté quelques fichiers, et validé ces fichiers dans l'historique du dépôt. Vous avez ensuite créé une branche à partir de votre branche principale, ajouté d'autres fichiers et validé ces fichiers dans le référentiel.

En suivant les étapes ci-dessus, vous avez créé un compte GitHub et un dépôt sur GitHub. Vous avez ensuite lié votre dépôt local à votre dépôt GitHub et poussé vos branches, changements et commits vers ce dépôt distant.
Ensuite, vous avez créé un Pull Requestqui a mis en évidence les différences entre vos deux branches et vous a permis de fusionner la branche secondaire dans la branche primaire, de sorte que toutes les modifications existent désormais dans la branche primaire.

Quelle est la prochaine étape ?

Avec Hacktoberfest qui arrive à grands pas, il n'y a pas de meilleur moment pour mettre en pratique ce que vous avez appris sur Git ! Nous sommes ravis d'être un partenaire du partenaire du Hacktoberfest cette année, vous pouvez donc jeter un coup d'œil à certains des projets Vonage pendant que vous travaillez à votre objectif de relations publiques. Joyeux hacking !

N'oubliez pas, si vous avez des questions, des conseils ou des idées à partager avec la communauté, n'hésitez pas à vous rendre sur notre espace de travail Slack de la communauté.

Partager:

https://a.storyblok.com/f/270183/250x250/b052219541/greg-holmes.png
Greg HolmesAnciens de Vonage

Ancien développeur éducateur @Vonage. Issu d'une formation PHP, mais pas limité à un seul langage. Joueur passionné et adepte du Raspberry pi. On le trouve souvent en train de faire du bloc dans des salles d'escalade.