TP 3 : Dépôts distants avec GitHub – Clone, push, fork et issues

Module : 1 – Versioning et collaboration avec Git & GitHub Durée indicative : 1h30 Prérequis : TP 1 et TP 2 terminés, compte GitHub, clé SSH configurée

Objectifs

  • Publier un dépôt local sur GitHub et gérer les remotes.
  • Cloner, forker, synchroniser avec upstream.
  • Utiliser issues, labels, milestones et GitHub Projects.

Étape 1 – Authentification SSH

ssh-keygen -t ed25519 -C "[email protected]"
cat ~/.ssh/id_ed25519.pub

Ajoutez la clé publique dans GitHub (Settings → SSH and GPG keys), puis vérifiez :

Étape 2 – Publier le dépôt du TP 1/2

Créez un dépôt vide netlab-configs sur GitHub, puis :

git remote add origin [email protected]:<votre-compte>/netlab-configs.git
git push -u origin main
git push --tags

Vérifiez sur GitHub que l’historique et le tag v1.0.0 sont bien présents.

Étape 3 – Fetch, pull, push

En binôme : votre partenaire clone votre dépôt (git clone), ajoute un commit et le pousse. Récupérez ce changement :

git fetch origin
git log origin/main
git pull

Étape 4 – Fork et upstream

Topologie fork et upstream Topologie fork et upstream upstream (partenaire) → origin (votre fork) → clone local : deux remotes distincts pour recevoir et proposer des changements.

Forkez le dépôt de votre partenaire sur GitHub, clonez votre fork, puis configurez le dépôt d’origine comme upstream :

git clone [email protected]:<vous>/netlab-configs.git
cd netlab-configs
git remote add upstream [email protected]:<partenaire>/netlab-configs.git
git fetch upstream
git merge upstream/main

Étape 5 – Issues et suivi

Sur votre dépôt GitHub :

  1. Créez 3 issues (ex. « Ajouter la configuration DHCP », « Documenter le VLAN invité », « Corriger l’adresse de router1 »).
  2. Ajoutez des labels (enhancement, bug, documentation) et assignez-vous une issue.
  3. Créez un milestone v1.1.0 et associez-y les issues.
  4. Créez un tableau GitHub Projects avec les colonnes Todo / In progress / Done et placez-y les issues.

Rendu attendu

  • Le lien du dépôt GitHub netlab-configs avec l’historique complet et les tags.
  • Le lien du fork réalisé, avec upstream configuré (git remote -v).
  • Captures des issues, labels, milestone et du tableau Projects.

Points de vérification

  • ssh -T [email protected] confirme l’authentification.
  • git remote -v affiche origin et upstream correctement pointés.
  • Les 3 issues sont labellisées et rattachées au milestone.