Se connecter à Git

Maintenant que vous avez un compte GitHub, nous allons le lier à votre Sandbox. Cela vous permet d’accéder aux dépôts GitHub directement depuis le Sandbox.

Comme nous l’avons vu dans la section précédente, vous pouvez consulter les fichiers depuis le site Web GitHub. Cependant, y accéder directement depuis le Sandbox permet de copier et de modifier les fichiers. Cela est particulièrement utile pour travailler sur le codage et l’analyse.

Pour ce faire, nous allons définir les paramètres Git à l’aide de la console Terminal dans le DE Africa Sandbox. Vous aurez besoin d’un compte GitHub et d’un compte DE Africa Sandbox. Assurez-vous d’activer l’authentification à deux facteurs GitHub, car vous en aurez besoin pour autoriser les actions Git depuis l’intérieur du Sandbox.

Pour plus d’informations sur les mécanismes de sécurité de GitHub, consultez cet article sur « configuration de l’authentification à deux facteurs <https://docs.github.com/en/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication> » ou découvrez « comment créer un jeton de compte personnel <https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token> »__.

Connectez-vous à Git sur le Sandbox

  1. Connectez-vous au Digital Earth Africa Sandbox à l’adresse https://sandbox.digitalearth.africa/hub/login.

  1. Ouvrez une fenêtre Terminal depuis le lanceur en cliquant sur l’icône Terminal.

Le lanceur Jupyterlab DE Africa Sandbox.

  1. Le terminal s’ouvre et affiche un curseur clignotant. Il s’agit de la ligne de commande. Nous l’utiliserons pour définir votre connexion Git.

Le terminal Jupyterlab DE Africa Sandbox.

  1. Saisissez le texte suivant en remplaçant « votre-nom-d’utilisateur-github » par votre nom d’utilisateur GitHub. Assurez-vous de le mettre entre guillemets.

git config --global user.name "your-github-username"

Appuyez sur « Entrée ». La ligne de commande passera à la ligne suivante.

Définissez votre nom d'utilisateur Git.

  1. Définissez maintenant votre adresse e-mail. Votre adresse e-mail doit correspondre à l’adresse e-mail enregistrée sous votre nom d’utilisateur GitHub.

git config --global user.email "email@example.com"

Appuyez sur « Entrée ».

Félicitations ! Vous avez lié avec succès votre compte GitHub à votre Sandbox DE Africa. Vous pouvez désormais suivre les modifications et créer vos propres copies de code à modifier. Les prochaines étapes sur le forking et le cloning vous montrent comment procéder.

Forker le référentiel DE Africa Sandbox Notebooks

Le fork d’un dépôt vous permet de faire une copie personnelle d’un projet. De cette façon, vous n’avez pas besoin d’être administrateur ou membre d’un projet open source pour expérimenter ou contribuer au code.

  1. Visitez la page d’accueil du référentiel DE Africa Sandbox Notebooks <https://github.com/digitalearthafrica/deafrica-sandbox-notebooks>`__.

  2. Cliquez sur le bouton Fork dans le coin supérieur droit de la page.

Créez un référentiel à partir du site Web GitHub.

Une fois le fork terminé, vous serez redirigé vers votre copie forkée du référentiel. L’en-tête du référentiel doit maintenant être « <username>/deafrica-sandbox-notebooks », plutôt que « digitalearthafrica/deafrica-sandbox-notebooks ». Nous appellerons ce référentiel votre fork.

Un dépôt bifurqué.

Tout cela se trouve sur le site Web GitHub. Vous pouvez voir que tous les fichiers s’y trouvent, mais vous ne pouvez pas les modifier à partir du site Web. Nous allons maintenant faire une copie de votre fork, ou clone, dans le DE Africa Sandbox, afin que vous puissiez y modifier les fichiers. Tout d’abord, nous allons présenter quelques concepts Git pertinents.

Concepts de Git

  • Local : votre ordinateur, appareil ou compte sur lequel vous travaillez. Dans ce cas, votre machine locale est votre Sandbox DE Africa. En effet, personne d’autre ne peut voir ou accéder aux fichiers de votre compte Sandbox (y compris les modifications que vous avez apportées) à moins que vous ne les publiiez. Cela le rend « local » pour vous. Les référentiels que vous avez copiés sur votre machine locale sont appelés « référentiels locaux ».

  • Distant : principalement utilisé pour décrire les référentiels hébergés en ligne, comme sur le site Web GitHub. Un référentiel distant est souvent accessible par plusieurs membres de l’équipe et peut même être public. Dans la plupart des cas, comme dans nos exemples ici, le référentiel distant doit contenir la version la plus récente des fichiers.

  • Fork : « Un fork est une copie d’un dépôt. Le fork d’un dépôt vous permet d’expérimenter librement des modifications sans affecter le projet d’origine. » tel que défini par GitHub Docs. Au moment du fork, le dépôt d’origine et votre fork sont exactement les mêmes.

  • Clonage : Copie d’un dépôt distant sur votre machine locale. Le clonage d’un dépôt distant crée un dépôt local. Au moment du clonage, le dépôt distant et le dépôt local sont exactement les mêmes. Toutes les modifications apportées à l’un ou l’autre des dépôts après ce point ne sont pas automatiquement synchronisées. Nous aborderons la transmission et l’extraction des modifications entre les dépôts dans la section suivante.

Différence entre un fork et un clone : lorsque vous dupliquez un dépôt distant, comme lorsque vous appuyez sur le bouton Fork, vous disposez d’une copie à distance du dépôt à distance. Le clonage vous permet ensuite de créer une copie locale du dépôt à distance. Cela est généralement fait pour permettre l’édition.

Clonez votre fork Sandbox Notebooks

  1. Connectez-vous au Sandbox Digital Earth Africa.

  1. Créez un nouveau dossier pour stocker vos dépôts copiés. Par convention, nous l’appellerons « dev », bien que vous puissiez lui donner un autre nom. Cliquez sur le bouton Nouveau dossier et nommez votre dossier « dev », puis double-cliquez sur le dossier pour naviguer à l’intérieur. Il est actuellement vide.

Nouveau dossier.

dossier dev.

Dans le dossier dev.

  1. Cliquez sur le dernier symbole de la barre de menu Dossier. Cela ouvre l’option Cloner le référentiel.

Bouton Cloner.

Bouton Cloner.

  1. L’URI de clonage est disponible sur la page Web GitHub de chaque dépôt. Nous souhaitons cloner votre fork, nous allons donc accéder à votre page de fork. Si vous ne le trouvez pas, vous pouvez y accéder depuis Utilisateur > Vos dépôts dans le coin supérieur droit du site Web GitHub.

En haut de la page, il devrait être écrit « Cette branche est identique à digitalearthafrica:master ». Cela signifie que votre fork est identique au dépôt Sandbox Notebooks d’origine.

Si ce n’est pas indiqué, ne vous inquiétez pas. Nous corrigerons les éventuelles incohérences entre les dépôts dans la prochaine partie de ce guide. Vous pouvez continuer à suivre toutes les étapes de cette page.

Cliquez sur le bouton Code pour ouvrir la liste déroulante, puis cliquez sur l’icône du presse-papiers pour copier l’URI. Il doit commencer par « https:// … ».

Cloner sur GitHub.

  1. Revenez à votre page Sandbox et collez l’URI dans la zone. Cliquez sur Cloner.

Coller et cloner.

  1. Après quelques instants, un dossier apparaîtra dans votre dossier /dev. Il s’agit d’un clone de votre fork du dépôt DE Africa Sandbox Notebooks. Bien joué !

Clonage réussi.

Si vous ouvrez le dossier et explorez son contenu, vous verrez qu’il devrait ressembler exactement à votre fork, qui est le même que le référentiel distant sur https://github.com/digitalearthafrica/deafrica-sandbox-notebooks.

Pourquoi dois-je dupliquer puis cloner ? Puis-je cloner directement depuis « digitalearthafrica/deafrica-sandbox-notebooks » ? La réponse est que vous pouvez cloner le dépôt d’origine sans dupliquer, mais vous ne pouvez pas contribuer aux modifications de ce clone direct à moins d’avoir été ajouté en tant que membre du dépôt Digital Earth Africa Sandbox Notebooks. Le dupliquage et le clonage sont les meilleures pratiques pour contribuer à des projets open source comme décrit dans « cet article <https://opensource.com/article/19/11/first-open-source-contribution-fork-clone> ».

Découvrez-en plus sur le clonage de la base distante vers la base locale dans ce « tutoriel de clonage git <https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-clone> »__.

Version du terminal : Cloner le référentiel DE Africa Sandbox Notebooks

Ignorez cette section si vous avez déjà effectué les étapes ci-dessus.

Il s’agit d’une méthode alternative de clonage du dépôt. Elle est destinée aux utilisateurs déjà familiarisés avec la ligne de commande du Terminal ; elle est correctement présentée aux nouveaux utilisateurs dans la section suivante Git avec Terminal. Les étapes correspondent à peu près à la version d’interface ci-dessus.

  1. Connectez-vous au Digital Earth Africa Sandbox et ouvrez une fenêtre Terminal.

  2. mkdir dev

  3. « cd dev »

  4. Copiez l’URI du dépôt à partir de votre page de fork

Cloner sur GitHub.

  1. git clone <URI>

J’ai besoin de plus d’aide sur Git !

Git peut être déroutant au début. Il peut paraître intimidant à mettre en place, surtout si vous n’êtes pas familier avec les interfaces de ligne de commande. Prenez le temps de lire et de suivre attentivement ce guide. Si vous rencontrez des problèmes :

  • Vérifiez les fautes de frappe. Les commandes de ligne de commande sont sensibles aux fautes d’orthographe, aux espaces, à la ponctuation et aux majuscules/minuscules.

  • Recherchez les messages d’erreur. Git est très largement utilisé ; Internet regorge de ressources sur la façon de corriger différents messages d’erreur.

  • Posez une question. DE Africa fait partie de l’initiative Open Data Cube, qui dispose d’une communauté Slack active sur http://slack.opendatacube.org/ et constitue un excellent endroit pour demander de l’aide.

Prochaines étapes

Nous avons défini ci-dessus que au moment du clonage, le dépôt distant et le dépôt local sont exactement les mêmes. Toutes les modifications apportées à l’un ou l’autre des dépôts après ce point ne sont pas automatiquement synchronisées. Que se passe-t-il donc si quelqu’un d’autre apporte une modification (comme une amélioration du code, une correction de bug ou de nouveaux exemples) au dépôt distant ? Votre copie du contenu de votre compte Sandbox sera obsolète. La section suivante explique comment récupérer ces nouvelles modifications à partir du dépôt distant et les télécharger dans notre dépôt local.

À l’inverse, nous pouvons également apporter des modifications à notre dépôt local et les intégrer au dépôt distant. Ensuite, tous ceux qui utilisent ce code peuvent télécharger vos améliorations et ajouts. Nous vous montrerons comment appliquer ces modifications de manière à ce que chacun puisse voir qui a effectué les modifications, quelles sont ces modifications et confirmer si ces modifications doivent être ajoutées au dépôt principal — les capacités de contrôle de version de Git.

Pour réaliser ces deux opérations, nous devons d’abord comprendre comment utiliser Git pour suivre les modifications de fichiers via l’interface utilisateur graphique sur le Sandbox. Il s’agit d’une excellente option pour les nouveaux utilisateurs de Git comme alternative à l’interface de ligne de commande. Sélectionnez Suivant pour continuer.