GitVoici le vingtième volet de la formation Git. Dans mon précédent article nous avons abordé deux commandes qui permettent de revenir en arrière sur le ou les derniers commits. Jusqu’ici nous avons travaillé en local, avec des dépôts que nous avons initialisés dans un dossier via la commande git init. N’oublions pas que Git est avant tout un outil destiné au travail collaboratif. Il est donc temps de nous intéresser au travail avec les dépôts distants hébergés sur des plateformes comme GitHub ou GitLab.

AstuceDans le troisième volet au tout début de cette formation, nous avons eu un bref aperçu de la création et du clonage d’un dépôt public sur GitHub et GitLab. Ces premiers tests servaient uniquement à vérifier l’accès à ces deux plateformes.

Cloner un dépôt public

Nous allons rester fidèles à nos habitudes et aborder les choses de manière pratique et pragmatique. Pour commencer, ouvrez un terminal et créez un répertoire ~/formation-git/atelier-31 pour faire vos tests :

$ cd ~/formation-git
$ mkdir atelier-31
$ cd atelier-31/

Ouvrez un navigateur web et connectez-vous à GitHub. Au moment où j’écris ces lignes, cette plateforme héberge pas moins de 372 millions de dépôts Git gérés par près de 100 millions de développeurs. Oui, c’est énorme.

Au hasard tout en choisissant bien, nous allons sélectionner un de ces projets et le regarder de plus près. Ouvrez la page suivante :

The Art Of Command Line

Descendez un peu sur la page et cliquez sur le lien Français. Vous voyez qu’il s’agit d’une documentation qui donne une vue d’ensemble compacte sur les compétences nécessaires pour maîtriser le shell et la ligne de commande.

Cette documentation est écrite en MarkDown, et l’une des particularités de GitHub, c’est que les pages écrites en Markdown s’affichent directement dans le navigateur Web :

The Art Of Command Line

Naviguez un peu dans cette documentation pour la découvrir. Le projet initial est en anglais, et il comprend des traductions en français, en allemand, en italien, et une série d’autres langues courantes et moins courantes.

En parcourant le texte, vous avez repéré quelques coquilles dans la traduction française, et vous vous sentez d’humeur à les corriger. Bien sûr, rien ne vous empêche de cloner le dépôt existant tel quel. Revenez à la page d’accueil du projet, cliquez sur le bouton Code et repérez le lien HTTPS avec l’adresse du dépôt. L’icône juste à côté du lien permet de le copier vers le presse-papier :

The Art Of Command Line

Basculez vers le terminal et clonez le dépôt en collant le lien :

$ git clone https://github.com/jlevy/the-art-of-command-line.git
Cloning into 'the-art-of-command-line'...
remote: Enumerating objects: 3624, done.
remote: Total 3624 (delta 0), reused 0 (delta 0), pack-reused 3624
Receiving objects: 100% (3624/3624), 2.61 MiB | 5.49 MiB/s, done.
Resolving deltas: 100% (2137/2137), done.

L’opération de clonage s’est soldée par la création d’un répertoire du même nom que le dépôt :

$ ls
the-art-of-command-line

Voyons ce qu’il contient :

$ cd the-art-of-command-line/
$ ls
admin            README-el.md  README-ko.md  README-sl.md
AUTHORS.md       README-es.md  README.md     README-uk.md
CONTRIBUTING.md  README-fr.md  README-pl.md  README-zh-Hant.md
cowsay.png       README-id.md  README-pt.md  README-zh.md
README-cs.md     README-it.md  README-ro.md
README-de.md     README-ja.md  README-ru.md

Jetez un œil sur l’historique du projet :

The Art Of Command Line

ImportantVous vous sentez de mettre allègrement les mains à la pâte et commencer à améliorer la traduction. Avant de faire craquer vos phalanges et de vous mettre à la tâche, dites-vous que vous n’irez pas bien loin, étant donné que vos modifications resteront confinées à votre copie locale. Vous n’avez pas les droits d’écriture sur le dépôt distant, puisque vous ne faites pas partie de l’équipe du projet, du moins pas encore.

Créer un fork

Avant de contacter les développeurs, nous allons procéder autrement. Pour commencer, supprimez le dépôt que vous venez de rapatrier :

$ cd ..
$ rm -rf the-art-of-command-line/

Retournez à la page d’accueil du projet sur GitHub. Cette fois-ci, repérez le bouton Fork en haut à droite et cliquez dessus :

Git Fork

Gardez les options proposées par défaut et confirmez la création du fork :

Git Fork

Au bout de quelques secondes, le projet apparaîtra dans votre compte utilisateur sur GitHub :

Git ForkPuisque nous avons déjà configuré l’authentification par clé SSH, nous pouvons copier le lien correspondant comme nous l’avons fait un peu plus tôt pour le lien HTTPS :

Git Fork

Dans votre terminal, récupérez le fork en collant le lien depuis le presse-papiers :

$ git clone git@github.com:kikinovak/the-art-of-command-line.git
Cloning into 'the-art-of-command-line'...
remote: Enumerating objects: 3624, done.
remote: Total 3624 (delta 0), reused 0 (delta 0), pack-reused 3624
Receiving objects: 100% (3624/3624), 2.61 MiB | 2.59 MiB/s, done.
Resolving deltas: 100% (2137/2137), done.
$ cd the-art-of-command-line/

AstuceNous venons de créer et de cloner un fork. Notez que ce n’est pas une fonctionnalité de Git, mais de la plateforme d’hébergement GitHub.

Jetez un œil sur le contenu du dépôt et regardez ce qu’il a dans le ventre :

$ git log --oneline --graph --all

Quelques remarques en vrac sur ce que nous venons de faire :

  • C’est bien là un clone complet du dépôt, avec tout son historique.
  • Cette fois-ci, c’est votre copie du dépôt, et vous avez tous les droits dessus pour expérimenter comme bon vous semble.
  • Tout ce que vous avez appris sur Git jusqu’ici, vous pouvez l’utiliser avec cette copie.
  • Le dépôt distant et la copie locale sont complètement indépendants l’un de l’autre, même si la copie locale est au courant de ses origines. Nous verrons un peu plus loin ce que cela signifie.

Exercice

Au début de cette formation, vous avez créé un compte sur la plateforme GitLab. Il se trouve que le projet The Art Of Command Line existe également sur cette plateforme.

  • Créez un répertoire ~/formation-git/atelier-32.
  • Retrouvez le projet The Art Of Command Line sur GitLab.
  • Créez un fork public du projet.
  • Rapatriez votre fork en utilisant l’authentification par clé SSH.

Lire la suite : Publier vos commits


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 

Catégories : Formation

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *