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
Avec le compte de travail, créer le dossier du TP puis s’y placer :
Terminal Linux
mkdir -p ~/devops-formation/tp-04-02
cd ~/devops-formation/tp-04-02Si 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
Avec le compte de travail, créer le dossier du TP puis s’y placer :
Terminal Linux
mkdir -p ~/devops-formation/tp-04-02
cd ~/devops-formation/tp-04-02Si 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 : Préparer une base commune
mkdir tp-git-conflit
cd tp-git-conflit
git init -b main
git config user.name "Apprenant"
git config user.email "apprenant@example.com"
cat > merge.txt <<'EOF'
Version initiale.
EOF
git add merge.txt
git commit -m "Ajoute le texte initial"Étape 2 : Modifier la même ligne sur deux branches
git switch -c feature/texte
cat > merge.txt <<'EOF'
Version proposée par la fonctionnalité.
EOF
git add merge.txt
git commit -m "Modifie le texte côté feature"
git switch main
cat > merge.txt <<'EOF'
Version modifiée sur main.
EOF
git add merge.txt
git commit -m "Modifie le texte côté main"
git merge feature/texteCONFLICT (content): Merge conflict in merge.txt
Automatic merge failed; fix conflicts and then commit the result.Les deux branches modifient volontairement la même ligne : le conflit est reproductible. Le scénario du STRICT peut varier selon les modifications réellement effectuées.
Étape 3 : Résoudre et terminer
git status
cat merge.txt
vim merge.txt
# Choisir le contenu final et retirer tous les marqueurs de conflit.
git add merge.txt
git commit -m "Résout le conflit de documentation"
git status
git log --oneline --graph --all
git branch -d feature/textegit merge --abort permet d’abandonner la fusion.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.