Nâavez-vous jamais rĂȘvĂ© dâavoir une machine Ă remonter le temps pour votre code ? Eh bien, grĂące Ă Git, ce rĂȘve devient rĂ©alitĂ©, et bien plus encore !
Si vous ne connaissez pas encore Git, il sâagit dâun systĂšme de contrĂŽle de version qui vous aide Ă suivre les modifications apportĂ©es Ă votre code. Vous pouvez enregistrer un instantanĂ© de votre projet Ă un moment prĂ©cis, puis effectuer des modifications expĂ©rimentales sans risquer de perdre votre travail, car vous pouvez toujours revenir Ă votre instantanĂ©.
GitHub est une plateforme basĂ©e sur Git, qui vous permet dâenregistrer vos projets Git dans le cloud et de collaborer avec dâautres dĂ©veloppeurs.
MĂȘme si Git peut sembler compliquĂ©, il sâagit dâun outil puissant et indispensable pour tout dĂ©veloppeur. Cet article vous donnera tous les outils dont vous avez besoin pour utiliser Git dans votre flux de travail quotidien.
Prérequis
Pour suivre ce tutoriel, vous devez installer Visual Studio Code.
Découverte des bases de Git avec GitHub Desktop
Pour les opĂ©rations Git standard, nous recommandons GitHub Desktop, une application qui vous permet dâinteragir avec Git visuellement au lieu de passer par des commandes Ă©crites. Dans cette section, nous allons apprendre Ă utiliser GitHub Desktop pour effectuer rapidement les opĂ©rations Git les plus courantes.
Configuration de GitHub Desktop
Si vous utilisez GitHub Desktop pour la premiĂšre fois, vous devez lâinstaller et connecter votre compte GitHub.
- Téléchargez GitHub Desktop.
- Ouvrez GitHub Desktop, puis cliquez sur Se connecter à GitHub.com et autorisez GitHub Desktop à accéder à votre compte.
- De retour dans GitHub Desktop, cliquez sur Terminer. Votre nom et votre adresse e-mail de votre compte GitHub seront ainsi ajoutés à Git.
Créer un référentiel local
Vous pouvez maintenant faire vos premiers pas dans Git en crĂ©ant un rĂ©fĂ©rentiel. ConsidĂ©rez un rĂ©fĂ©rentiel comme un dossier de projet qui suit les modifications et stocke lâhistorique. Tout dâabord, nous allons crĂ©er un rĂ©fĂ©rentiel local :
-
Dans GitHub Desktop, cliquez sur Créer un référentiel sur votre lecteur local.
-
Nommez le référentiel
learning-git
. -
Sélectionnez Initialiser ce référentiel avec un fichier LISEZMOI pour créer automatiquement un fichier
README.md
vide.Conseil
Il est courant dâinclure un fichier
README.md
, également appelé LISEZMOI, dans vos projets. Les fichiers LISEZMOI contiennent généralement des informations utiles pour comprendre, configurer et exécuter votre projet. -
Cliquez sur Créer un dépÎt.
CrĂ©ation dâun dĂ©pĂŽt distant
Le rĂ©fĂ©rentiel local que vous venez de crĂ©er se trouve sur votre ordinateur. CrĂ©ons maintenant un dĂ©pĂŽt distant pour le mĂȘme projet, qui sera hĂ©bergĂ© sur GitHub. La liaison Ă un dĂ©pĂŽt distant facilite la collaboration et la sauvegarde de votre travail.
- Dans GitHub Desktop, cliquez sur Publier le référentiel.
- Dans la fenĂȘtre contextuelle qui apparaĂźt, cliquez une nouvelle fois sur Publier le rĂ©fĂ©rentiel.
- Pour afficher votre dépÎt distant, cliquez sur Afficher sur GitHub.
Configuration dâun espace pour apporter des modifications
Maintenant que vous avez créé un rĂ©fĂ©rentiel, parlons des branches. Les branches sont essentiellement des copies de votre projet oĂč vous pouvez tester des modifications sans compromettre la stabilitĂ© de votre travail existant.
Les référentiels sont automatiquement créés avec une branche main
, que vous pouvez considĂ©rer comme la version stable et principale de votre projet. Par exemple, dans le rĂ©fĂ©rentiel dâun site web, la branche main
correspond au site que les visiteurs peuvent voir.
Lorsque vous créez une nouvelle branche, vous créez un espace sécurisé pour travailler sur une nouvelle fonctionnalité sans affecter la version principale. Vous et vos collaborateurs pouvez utiliser différentes branches pour travailler simultanément sur plusieurs fonctionnalités.
Créons une branche pour travailler sur les modifications de notre référentiel :
- Dans GitHub Desktop, sélectionnez le menu déroulant Branche actuelle, puis cliquez sur Nouvelle branche.
- Nommez votre nouvelle branche
readme-updates
, puis cliquez sur Créer une branche.
Enregistrement des instantanés de votre projet
Pour enregistrer votre progression dans votre branche, vous effectuez un commit. Un commit est un instantané que vous prenez de votre projet à un moment précis. En fait, vous avez déjà effectué votre premier commit : lorsque vous avez initialisé votre projet avec un fichier LISEZMOI, GitHub Desktop a automatiquement créé un commit initial pour ajouter le fichier README.md
.
Chaque fois que vous terminez une partie du travail que vous souhaitez sauvegarder, vous devez effectuer un commit. AprÚs cela, vous pouvez toujours revenir à ce point précis, quel que soit le nombre de modifications que vous apporterez par la suite.
-
Dans GitHub Desktop, cliquez sur Ouvrir dans Visual Studio Code.
-
Dans VS Code, collez le texte suivant dans
README.md
et enregistrez vos modifications :Markdown Hello, World! This is a demo project for learning how to use Git.
Hello, World! This is a demo project for learning how to use Git.
-
De retour dans GitHub Desktop, vous pourrez voir les modifications que vous venez dâapporter Ă votre fichier LISEZMOI. En bas Ă gauche, Ă cĂŽtĂ© de votre photo de profil GitHub, tapez « Mettre Ă jour le fichier LISEZMOI » dans la zone de texte. Câest ce quâon appelle un message de commit, et il vous aide Ă suivre les modifications que vous apportez Ă chaque commit.
-
Pour effectuer votre commit, cliquez sur Commiter les mises Ă jour du fichier LISEZMOI..
Intégration de vos modifications dans votre branche primaire
Lorsque vous ĂȘtes satisfait des modifications que vous avez apportĂ©es Ă une branche, vous pouvez publier votre branche dans le dĂ©pĂŽt distant et crĂ©er une demande de tirage (pull request). Les demandes de tirage (pull requests) vous permettent de passer en revue un ensemble de modifications proposĂ©es, puis de les fusionner dâune branche Ă lâautre. Dans notre cas, nous allons crĂ©er une demande de tirage (pull request) qui intĂšgre les modifications que nous avons apportĂ©es dans readme-updates
dans notre branche dâorigine, main
.
-
Cliquez sur Publier la branche pour envoyer (push) la branche
readme-updates
avec vos modifications vers le dépÎt distant. -
Pour passer en revue vos modifications suggérées, cliquez sur Préversion de la demande de tirage (pull request).
-
Cliquez sur Créer une demande de tirage.
-
Dans la fenĂȘtre GitHub qui apparaĂźt, modifiez le titre de votre demande de tirage (pull request) par « Ajouter un message au fichier LISEZMOI », puis Ă©crivez une brĂšve description de vos modifications dans la zone de commentaire.
-
Cliquez sur ** Créer une demande de tirage**.
-
Pour intégrer vos modifications dans la branche
main
, en bas de la page, cliquez sur Fusionner la demande de tirage (pull request).Remarque
Lorsque vous travaillez sur un projet avec dâautres dĂ©veloppeurs, il est courant quâune autre personne passe en revue votre demande de tirage (pull request) avant quâelle ne soit fusionnĂ©e.
-
En bas de la page, cliquez sur Supprimer la branche. La suppression des branches fusionnées dans
main
contribue à la propreté et à la facilité de navigation de votre référentiel.
PrĂ©paration pour effectuer dâautres modifications
Félicitations pour la fusion de votre premiÚre demande de tirage (pull request) ! Maintenant que vous avez réussi à intégrer vos modifications dans la branche main
, vous devez suivre quelques étapes pour vous préparer à votre prochaine série de modifications :
-
Dans GitHub Desktop, si vous n'ĂȘtes pas sur la
main
branche, sélectionnez le menu déroulant Branche actuelle, puis cliquez sur principal.Vous devez presque toujours revenir à la branche
main
avant de créer une nouvelle branche, car les nouvelles branches sont créées sous forme de copies de la branche actuellement sélectionnée. -
Pour vérifier si des modifications ont été apportées à votre branche distante
main
, cliquez sur RĂ©cupĂ©rer (fetch) lâorigine. -
Enfin, pour mettre Ă jour votre branche locale
main
avec les modifications apportées à la branche distantemain
, cliquez sur Tirer (pull) lâorigine.
Vous disposez maintenant de toutes les compétences nécessaires pour configurer et utiliser Git sur un projet !
Approfondissement de Git en ligne de commande
GitHub Desktop est conçu pour rĂ©pondre Ă vos besoins Git quotidiens. Au fur et Ă mesure de votre progression en tant que dĂ©veloppeur, vous serez probablement confrontĂ© Ă des situations inhabituelles oĂč vous voudrez avoir plus de contrĂŽle sur une opĂ©ration Git ou aurez besoin dâutiliser des commandes plus complexes. Dans ces cas, vous devrez passer Ă lâutilisation de commandes Git Ă©crites sur la ligne de commande.
Configuration de votre ligne de commande
Avant de commencer Ă travailler avec la ligne de commande, vous devez configurer quelques outils.
-
Dans GitHub Desktop, appuyez sur Ctrl+` pour ouvrir votre projet sur la ligne de commande.
-
Si vous utilisez Windows, installez Git. Pour macOS et Linux, Git est installé par défaut.
-
Installez GitHub CLI, qui vous permet dâeffectuer rapidement des actions liĂ©es Ă GitHub Ă partir de la ligne de commande.
-
Pour vous authentifier auprÚs de GitHub à partir de GitHub CLI, exécutez la commande suivante :
Shell gh auth login
gh auth login
Choisissez de vous authentifier avec GitHub.com, puis suivez les prompts Ă lâĂ©cran.
-
Installez GitHub Copilot dans lâinterface de ligne de commande CLI, une extension puissante pour GitHub CLI qui vous aide Ă trouver et Ă comprendre les commandes, en exĂ©cutant la commande suivante :
Shell gh extension install github/gh-copilot
gh extension install github/gh-copilot
Expérimentation de commandes complexes
Maintenant que vous avez tout configurĂ©, dĂ©couvrez comment trouver et comprendre les commandes dont vous pourriez avoir besoin Ă lâavenir. Prenons lâexemple suivant : vous avez vu quelquâun mentionner git blame
en ligne, mais vous ne savez pas ce que cela fait. Essayez de demander Ă Copilot de lâexpliquer avec la commande suivante :
gh copilot explain "git blame"
gh copilot explain "git blame"
Copilot indiquera que git blame
fournit un historique dĂ©taillĂ© dâun fichier, prĂ©cisant lâauteur et le commit qui ont modifiĂ© en dernier chaque ligne du fichier. Faites-en lâexpĂ©rience avec la commande suivante :
git blame README.md
git blame README.md
Câest un outil formidable, mais comme vous pouvez lâimaginer, lâhistorique des modifications (blame) dâun fichier peut devenir trĂšs long. Supposons que seule la derniĂšre modification apportĂ©e Ă une ligne spĂ©cifique dâun fichier vous intĂ©resse. Vous pouvez demander Ă Copilot de gĂ©nĂ©rer la commande appropriĂ©e :
gh copilot suggest "Show me the blame for line 1 of README.md"
gh copilot suggest "Show me the blame for line 1 of README.md"
Lorsque Copilot demande quel type de commande vous recherchez, utilisez vos touches de direction pour choisir commande git, puis appuyez sur Entrée. Copilot suggérera alors la commande suivante :
git blame -L 1,1 README.md
git blame -L 1,1 README.md
Utilisez vos touches de direction pour choisir ExĂ©cuter la commande, puis appuyez sur EntrĂ©e. Vous verrez lâauteur et le commit de la derniĂšre ligne 1 modifiĂ©e de README.md
.
Revue et étapes suivantes
Dans cet article, nous avons abordé les bases de Git avec GitHub Desktop, en apprenant des termes importants comme :
- Référentiel : dossier qui enregistre toutes les modifications apportées aux fichiers de votre projet.
- Commit : instantané de votre projet à un moment précis.
- Branche : copie de votre projet sur laquelle vous pouvez travailler sur un ensemble de modifications.
- Demande de tirage (pull request) : une demande de fusion des modifications dâune branche vers une autre.
Nous avons Ă©galement parlĂ© de la rĂ©alisation dâopĂ©rations Git plus complexes sur la ligne de commande. Nous avons essayĂ© gh copilot explain
et gh copilot suggest
pour comprendre et trouver de nouvelles commandes et fonctionnalités.
Maintenant, essayez dâappliquer ces connaissances Ă votre propre travail. Ajoutez Git Ă un projet existant avec GitHub Desktop en appuyant sur Ctrl+O (Windows/Linux) ou Commande+O (Mac) et dĂ©couvrez par vous-mĂȘme les avantages du contrĂŽle de version !