Appearance
📝 TP 01 - Découverte de Git et Github
🎯 Objectifs
✔ Apprendre à initialiser un dépôt Git localement. ✔ Savoir stager, committer et visualiser l’hisstorique des modifications. ✔ Expérimenter les branches et les merges.
🔧 Etape 1 : Téléchargement et configuration de Git
Installation de Git
- Windows : Télécharger et installer depuis git-scm.com
- Linux :
sudo apt install git
ℹ️ Aide d'installation
Suivez ces étapes pour installer correctement Git
Après avoir téléchargé Git, vous avez un ensemble de configurations à réaliser.
Sur cet écran, vous pouvez sélectionner l'éditeur de texte par défaut que vous voulez utiliser pour la correction des conflits. Vous pouvez sélectionner celui que vous souhaitez, mais je vous recommande VSCode
qui est très performant pour faire de la correction de conflit.
Ici on garde le choix recommandé :
Pour cette page on garde le choix 1, cela nous permet d'utiliser OpenSSH fournis avec l'installation de Git.
On garde le choix par défaut.
Ici on utilisera MinTTY
Séléction du choix par défaut :
Il ne vous reste plus qu'a ouvrir git Bash
. Cela permet d'ouvrir une invite de commande qui vous permettra d'utiliser les commandes Linux.
Vérifier l'installation avec :
sh
$ git --version
Configuration de Git
Avant d'utiliser Git, configurez votre identité :
sh
git config --global user.name "Votre Nom"
git config --global user.email "votre.email@example.com"
Vous êtes à présent prêt pour utiliser Git dans des bonnes conditions.
🔧 Etape 2 : Initialisation d'un dépôt et les premiers commits
🔃 Initialiser un dépôt Git
- Ouvrir un terminal sur votre machine.
- Créer un nouveau dossier pour votre projet :bash
mkdir mon-projet-git cd mon-projet-git
- Initialiser un dépôt Git dans ce dossier :bash
git init
📂 Ajouter un fichier et faire un premier commit
Créer un fichier
index.html
dans le dossier et ajouter la structure de base :Vérifier l’état du dépô :
bashgit status
👉 Que remarquez-vous ?
Ajouter le fichier dans la zone de staging
Créer un premier commit
Vérifier que le commit a bien été enregistré
ℹ️ Aide
bash
git add index.html
git commit -m "Ajout du fichier .html"
👉 Vérifiez que le commit a bien été enregistré avec :
bash
git log --oneline
✏️ Modifier un fichier et faire un second commit
- Modifier le fichier
index.html
en ajoutant un titre<h1>
sur votre page : - Vérifier les modifications
- Ajouter et committer les changements avec un message qui indique ce que vous avez fait.
- Consulter l’historique des commits :
🌿 Étape 3 : Créer et naviguer entre les branches
Créer une nouvelle branche appelée
develop
Vérifier les branches existantes 👉 La branche actuelle est marquée avec un
*
.Se déplacer sur la branche
develop
ℹ️ Aide
bash
git branch develop
git branch
git switch dev
📝 Étape 4 : Modifier un fichier sur une branche sans impacter les autres
- Modifier le fichier
index.html
sur la branchedevelop
- Commiter ces modifications
👀 Étape 5 : Observer l’indépendance des branches
Retourner sur la branche
main
Afficher le contenu du fichier
index.html
👉 Que constatez-vous ?Repasser sur
develop
et revérifier le fichierindex.html
👉 Les modifications sont bien spécifiques à chaque branche !
🔄 Étape 6 : Fusionner la branche develop
dans main
- Retourner sur la branche
main
- Fusionner / Merger la branche
develop
dans la branchemain
- Vérifier le contenu de
index.html
👉 Les modifications de develop
ont bien été ajoutées à main
!
ℹ️ Aide
bash
git switch main
git merge develop
⚠️ Étape 7 : Gérer un conflit lors d’une fusion
Dans cette partie, on va provoquer un conflit Git pour comprendre comment le résoudre.
Sachez qu'un conflit n'est pas forcément grave. Il s'agit uniquement de prendre une décision que Git ne peux pas prendre à notre place.
Sur la branche
main
, modifierindex.html
pour modifier le titre<h1>
. N'oubliez pas de commit après votre modification.Sur la branche
develop
, modifier aussiindex.html
pour modifier à nouveau le titre<h1>
avec une autre valeur. Faites un commit de votre modificiation.Retourner sur
main
et essayer de fusionnerdevelop
:bashgit switch main git merge develop
👉 Un conflit va apparaître !
Ouvrez
index.html
avecVSCode
et observer les marqueurs de conflit :
(<<<<<<<
,=======
,>>>>>>>
).Exemple de ce que vous pourriez voir :
html<h1>Je suis un titre h1 initialement écrit.<h1> <<<<<<< main <h2>Je suis un titre sur la branche main<h2> ======= <p>Je suis un paragraphe dans la branche develop<p> >>>>>>> develop
Résoudre le conflit en choisissant quelle modification conserver.
Par exemple, modifiez le fichier pour qu’il ai la balise<h1>
<h2>
<p>
:html<h1>Je suis un titre h1 initialement écrit.<h1> <h2>Je suis un titre sur la branche main<h2> <p>Je suis un paragraphe dans la branche develop<p>
Ajouter et valider les modifications :
bashgit add index.html git commit -m "Résolution du conflit entre main et develop"
Vérifier que tout est bien fusionné :
bashgit log --oneline