Objectifs et cours associés
Collaborer sur GitHub avec des branches et des demandes de fusion.
Pour réviser les notions utilisées dans ce TP :
Préparation
Prérequis
Configuration pour Windows
Git installé et accès à GitHub pour les TP distants.
Ouvrir Git Bash sur le poste.
Configuration pour Linux
Git installé et accès à GitHub pour les TP distants.
Ouvrir le terminal Linux avec student.
Terminal Linux
su - studentSi student est déjà connecté, conserver cette session.
Dépendances
Configuration pour Windows
Si ce dossier existe, inspecter les anciens fichiers avant de reprendre.
Aucun service Linux à installer pour ce TP. Les commandes Git s’exécutent dans le terminal préparé ci-dessus.
Réutiliser le dépôt du parcours Git indiqué dans les étapes ; ne pas créer un dépôt concurrent vide. GitHub est le dépôt distant utilisé pour les push.
Configuration pour Linux
Si ce dossier existe, inspecter les anciens fichiers avant de reprendre.
Aucun service Linux à installer pour ce TP. Les commandes Git s’exécutent dans le terminal préparé ci-dessus.
Réutiliser le dépôt du parcours Git indiqué dans les étapes ; ne pas créer un dépôt concurrent vide. GitHub est le dépôt distant utilisé pour les push.
Étape 1 : Créer et cloner
Avec le compte de travail, créer le dossier du TP puis s’y placer :
Terminal — PowerShell (Windows) ou Bash (Linux)
# Créer le dossier indiqué pour les fichiers de travail du TP.
mkdir -p ~/devops-formation/tp-04-03
# Se placer dans le dossier requis pour les commandes suivantes.
cd ~/devops-formation/tp-04-03Sur GitHub, créer un dépôt de TP, privé si souhaité, avec README.md. Relever son URL via Code. Utiliser HTTPS avec un jeton/gestionnaire d’identifiants, ou SSH après avoir enregistré la clé publique.
# Créer la paire de clés SSH dédiée au TP, avec les fichiers et le commentaire indiqués.
ssh-keygen -t ed25519 -C "vous@example.com"
# Lire le fichier pour vérifier son contenu.
cat ~/.ssh/id_ed25519.pub
# Enregistrer la clé publique dans Settings > SSH and GPG keys.
ssh -T git@github.com
# Copier le dépôt distant et configurer sa référence d’origine.
git clone git@github.com:VOTRE_COMPTE/VOTRE_DEPOT.git
# Se placer dans le dossier requis pour les commandes suivantes.
cd VOTRE_DEPOT
# Vérifier ou configurer l’adresse du dépôt distant.
git remote -vLa réponse SSH confirme l’authentification et précise que GitHub ne fournit pas d’accès shell ; son code de sortie peut être 1 même en cas de succès.
Étape 2 : Proposer une modification
# Vérifier ou définir le paramètre Git indiqué.
git config user.name "Votre nom"
# Vérifier ou définir le paramètre Git indiqué.
git config user.email "vous@example.com"
# Changer de branche ou créer la branche demandée.
git switch -c feature/documentation
# Lire le fichier pour vérifier son contenu.
cat > doc.txt <<'EOF'
Documentation ajoutée dans une branche de travail.
EOF
# Préparer les modifications indiquées dans l’index pour le prochain commit.
git add doc.txt
# Enregistrer les modifications préparées dans un nouveau commit.
git commit -m "Ajoute la documentation"
# Publier les commits ou la branche vers le dépôt distant.
git push -u origin feature/documentationSur GitHub, ouvrir une PR vers main. Lire Files changed, contrôler les checks, demander une revue si disponible, puis fusionner sur ce dépôt de TP.
Étape 3 : Synchroniser après fusion
# Changer de branche ou créer la branche demandée.
git switch main
# Récupérer les références distantes sans les fusionner dans la branche courante.
git fetch origin
# Examiner l’historique des commits.
git log --oneline HEAD..origin/main
# Récupérer puis intégrer les modifications du dépôt distant.
git pull --ff-only
# Distinguer les fichiers non suivis, préparés et modifiés.
git status
# Examiner l’historique des commits.
git log --oneline -5Le fichier doc.txt apparaît sur main. Selon la méthode de fusion choisie (merge, squash, rebase), les identifiants et la forme de l’historique varient.
Étape 4 : Issue et fork
Créer une issue décrivant l’ajout documentaire et l’associer à la PR. Pour comprendre un fork, observer qu’il forme un dépôt GitHub distinct ; ne pas le confondre avec le clone local.
Nettoyage
Dépendances
Configuration pour Windows
Windows : effectuer le nettoyage du dépôt dans Git Bash, puis fermer Git Bash. Ne pas supprimer les fichiers de configuration du profil Windows ou une clé SSH personnelle.
Nettoyage et conservation de l’environnement
Conserver le dépôt de formation utilisé par les TP suivants et vos preuves de validation. Retirer les réglages temporaires de diagnostic, fermer les sessions et vérifier git status. À la fin de la séquence, supprimer seulement le clone et les ressources GitHub créés pour la formation après sauvegarde ; ne pas toucher aux projets personnels, à la configuration globale de Git ni aux clés SSH réutilisées. Si une clé ou un jeton était exclusivement dédié au TP, le révoquer côté GitHub avant de retirer sa copie locale.
Configuration pour Linux
Linux : effectuer le nettoyage du dépôt dans le terminal natif. Ne pas supprimer ~/.gitconfig, ~/.ssh ou les paquets utilisés par d’autres projets.
Nettoyage et conservation de l’environnement
Conserver le dépôt de formation utilisé par les TP suivants et vos preuves de validation. Retirer les réglages temporaires de diagnostic, fermer les sessions et vérifier git status. À la fin de la séquence, supprimer seulement le clone et les ressources GitHub créés pour la formation après sauvegarde ; ne pas toucher aux projets personnels, à la configuration globale de Git ni aux clés SSH réutilisées. Si une clé ou un jeton était exclusivement dédié au TP, le révoquer côté GitHub avant de retirer sa copie locale.
Prérequis
Configuration pour Windows
Conserver Git et le dépôt du parcours pour les TP suivants. Le retrait éventuel des outils se décide après sauvegarde des travaux.
Configuration pour Linux
Conserver Git et le dépôt du parcours pour les TP suivants. Le retrait éventuel des outils se décide après sauvegarde des travaux.