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.pubAjoutez la clé publique dans GitHub (Settings → SSH and GPG keys), puis vérifiez :
ssh -T [email protected]É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 --tagsVé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
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 :
- Créez 3 issues (ex. « Ajouter la configuration DHCP », « Documenter le VLAN invité », « Corriger l’adresse de router1 »).
- Ajoutez des labels (
enhancement,bug,documentation) et assignez-vous une issue. - Créez un milestone
v1.1.0et associez-y les issues. - 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-configsavec l’historique complet et les tags. - Le lien du fork réalisé, avec
upstreamconfiguré (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 -vafficheoriginetupstreamcorrectement pointés. - Les 3 issues sont labellisées et rattachées au milestone.