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 l’Environnement de test.

Comme nous l’avons vu dans la section précédente, vous pouvez visualiser les fichiers à partir du site Web de GitHub. Cependant, le fait d’y accéder directement depuis l’Environnement de test permet de copier et de modifier les fichiers. Ceci est particulièrement utile pour travailler sur le codage et l’analyse.

Pour ce faire, nous allons définir les paramètres de Git à l’aide de la console Terminal dans le Sandbox de DE Africa. Vous aurez besoin d’un compte GitHub et d’un compte Sandbox DE Africa. Assurez-vous d’activer l’authentification à deux facteurs de 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 la configuration de l’authentification à deux facteurs ou lisez l’article sur comment créer un jeton de compte personnel.

Se connecter à Git sur le Sandbox

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

  1. Ouvrez une fenêtre Terminal à partir du Lanceur en cliquant sur l’icône Terminal.

Le lanceur Jupyterlab de DE Africa Sandbox.

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

Le terminal Jupyterlab de DE Africa Sandbox.

  1. Tapez le texte suivant, en remplaçant « votre nom d’utilisateur GitHub » par votre nom d’utilisateur GitHub. Veillez à le mettre entre guillemets.

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

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

Définissez votre nom d'utilisateur Git.

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

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

Appuyez sur « Entrée ».

Félicitations ! Vous avez réussi à relier votre compte GitHub à votre Sandbox DE Africa. Vous pouvez maintenant suivre les modifications et faire vos propres copies de code à modifier. Les étapes suivantes sur le forking et le clonage vous montrent comment le faire.

Fork le dépôt de DE Africa Sandbox Notebooks

La bifurcation 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 dépôt DE Africa Sandbox Notebooks”.

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

Fork un repo à partir du site GitHub.

When the fork is complete, you’ll be taken to your forked copy of the repository. The header for the repository should now be <username>/deafrica-sandbox-notebooks, rather than digitalearthafrica/deafrica-sandbox-notebooks. We will refer to this repo as your fork.

Un repo à fourche.

Tout ceci est sur le site web GitHub. Vous pouvez voir que tous les fichiers sont là, mais vous ne pouvez pas les modifier depuis le site web. Nous allons maintenant faire une copie de votre fork, ou clone, à l’intérieur de DE Africa Sandbox, afin que vous puissiez y modifier les fichiers. Tout d’abord, nous allons présenter quelques concepts pertinents de Git.

Concepts de Git

  • Local: Your computer, device, or account you are working on. In this case, your local machine is your DE Africa Sandbox. This is because no one else can see or access any files in your Sandbox account (including changes you have made) unless you publish them. This makes it « local » to you. Repositories you have copied to your local machine are called « local repositories ».

  • Remote: Principalement utilisé pour décrire les dépôts hébergés en ligne, comme sur le site web GitHub. Un dépôt distant est souvent accessible par plusieurs membres de l’équipe, et peut même être accessible au public. Dans la plupart des cas, comme dans nos exemples ici, le dépôt distant doit contenir la version la plus récente des fichiers.

  • Fork: « A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project. » as defined by GitHub Docs. At time of forking, the original repo and your fork are exactly the same.

  • Clone: Copie d’un dépôt distant sur votre machine locale. Le clonage d’un dépôt distant permet de créer un dépôt local. Au moment du clonage, le repo distant et le repo local sont exactement les mêmes. Toute modification apportée à l’un ou l’autre des dépôts après ce moment n’est pas automatiquement synchronisée. Nous aborderons la question du transfert des modifications entre les dépôts dans la section suivante.

    Différence entre un fork et un clone : Lorsque vous bifurquez un dépôt distant, comme lorsque vous appuyez sur le bouton Fork, vous avez une copie distante du dépôt distant. Le clonage vous permet alors de faire une copie locale du dépôt distant. Ceci est généralement fait pour permettre l’édition.

Clonez votre fourchette de Sandbox Notebooks

  1. Connectez-vous au bac à sable Digital Earth Africa.

  1. Créez un nouveau dossier pour y stocker vos dépôts copiés. Par convention, nous l’appellerons dev, bien que vous puissiez le nommer autrement. 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 de développement.

Dans le dossier de développement.

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

Bouton de clonage.

Bouton de clonage.

  1. The Clone URI can be found on each repository’s GitHub webpage. We want to clone your fork, so we will go to your fork page. If you cannot find it you can access it from User > Your repositories in the top right corner of the GitHub website.

Near the top of the page, it should say « This branch is even with digitalearthafrica:master. » This means your fork is the same as the original Sandbox Notebooks repo.

If it does not say that, don’t worry. We will fix any inconsistencies between repos in the next part of this guide. You can continue to follow all the steps on this page.

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

Clone sur GitHub.

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

Coller et cloner.

  1. Après quelques instants, un dossier apparaîtra dans votre dossier /dev. C’est un clone de votre fork du repo de DE Africa Sandbox Notebooks. Bien joué !

Clone 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 repo distant sur https://github.com/digitalearthafrica/deafrica-sandbox-notebooks.

Pourquoi dois-je bifurquer puis cloner ? Puis-je cloner directement de digitalearthafrica/deafrica-sandbox-notebooks ? La réponse est que vous pouvez cloner le repo original sans forker, mais vous ne pouvez pas contribuer aux modifications à partir de ce clone direct à moins que vous n’ayez été ajouté comme membre du repo Digital Earth Africa Sandbox Notebooks. La bifurcation et le clonage sont les meilleures pratiques pour contribuer aux projets open-source, comme décrit dans cette article.

Pour en savoir plus sur le clonage d’un site distant vers un site local, consultez le tutoriel git clone”.

Version terminale : Cloner le dépôt de DE Africa Sandbox Notebooks

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

Il s’agit d’une méthode alternative pour cloner le repo. Elle est destinée aux utilisateurs déjà familiarisés avec la ligne de commande Terminal ; elle est correctement présentée aux nouveaux utilisateurs dans la section ultérieure Git avec Terminal. Les étapes correspondent approximativement à la version de l’interface ci-dessus.

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

  2. mkdir dev

  3. cd dev

  4. Copiez l’URI du repo de votre page fork

Clone sur GitHub.

  1. git clone <URI>

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

Git peut être déroutant au début. Il peut sembler intimidant à configurer, surtout si vous n’êtes pas familier avec les interfaces de ligne de commande. Prenez votre temps pour lire et suivre attentivement ce guide. Si vous rencontrez des difficultés :

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

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

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

Prochaines étapes

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

À l’inverse, nous pouvons également effectuer des modifications sur notre dépôt local et les apporter au dépôt distant. Ensuite, tous ceux qui utilisent ce code peuvent télécharger vos améliorations et vos ajouts. Nous allons vous montrer comment appliquer ces changements d’une manière qui permet à chacun de voir qui a fait les changements, quels sont les changements, et de confirmer si ces changements doivent être ajoutés au dépôt principal - les capacités de contrôle de version de Git.

Pour faire ces deux choses, nous devrons d’abord comprendre comment utiliser Git pour suivre les modifications de fichiers via l’interface graphique de l’Environnement de test. C’est une excellente option pour les nouveaux utilisateurs de Git comme alternative à l’interface en ligne de commande. Sélectionnez Suivant pour continuer.