From e408bd60dc3bd8ebdfee248b4613177131454e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= <aurelien.marchal1@etu.univ-lorraine.fr> Date: Sun, 9 Mar 2025 13:45:54 +0100 Subject: [PATCH] compte rendu final --- compte_rendu.txt | 272 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 compte_rendu.txt diff --git a/compte_rendu.txt b/compte_rendu.txt new file mode 100644 index 0000000..6f86fcb --- /dev/null +++ b/compte_rendu.txt @@ -0,0 +1,272 @@ + Compte rendu TD1 : Utilisation de Git + +1. Configuration de Git +``` +git config --global user.name "Mon Nom" +git config --global user.email "MonAdresseMail@example.com" +git config --global credential.helper store +``` +- Permet d'enregistrer le nom et l'email utilisés pour les commits. +- Active la mémorisation du mot de passe GitLab. + +2. Création du dépôt local +``` +cd /chemin/vers/mon/repertoire/TypeScript +mkdir qualdev +cd qualdev +touch compte_rendu.txt +cd .. +git init +``` +- Initialise un dépôt Git dans le dossier TypeScript. +- Crée un dossier `qualdev` et un fichier `compte_rendu.txt`. + +3. Vérification des fichiers non suivis +``` +git status +``` +- Affiche les fichiers présents mais non suivis par Git. + + 4. Ignorer le dossier .vscode +``` +echo ".vscode/" >> .gitignore +git status +``` +- Ajoute `.vscode` au `.gitignore` pour éviter qu'il soit suivi. +- Vérifie que `.vscode` n'apparaît plus dans `git status`. + +5. Ajout des fichiers et commit initial +``` +git add . +git commit -m "Initialisation du dépôt TypeScript avec fichiers sources" +``` +- Indexe tous les fichiers. +- Crée un commit avec un message clair. + +6. Création du dépôt distant sur GitLab +- Création d'un projet typescript_nom_prénom sur GitLab. +- Ajout de l'enseignant en tant que Developer. +- Récupération de l'URL du dépôt distant. + + +7. Lier le dépôt local au dépôt distant +``` +git remote add origin https://gitlab.univ-lorraine.fr/mon_nom/typescript_nom_prenom.git +git remote -v +``` +- Associe le dépôt local au dépôt distant. +- Vérifie l'association avec `git remote -v`. + +8. Pousser les fichiers sur GitLab +``` +git push -u origin main +``` +- Envoie les fichiers sur le dépôt distant. + +9. Ajout de fichiers et mise à jour du dépôt +``` +cd src +touch helloworld.ts io.ts +git add src +git commit -m "Ajout des fichiers helloworld.ts et io.ts" +git push +``` +- Crée et ajoute de nouveaux fichiers. +- Met à jour le dépôt local et distant. + +10. Suppression et renommage de fichiers +``` +git rm src/helloworld.ts +git mv src/io.ts src/entrees-sorties.ts +git commit -m "Suppression de helloworld.ts et renommage de io.ts en entrees-sorties.ts" +git push +``` +- Supprime un fichier et renomme un autre. +- Enregistre ces modifications dans Git. + +11. Vérification de l'état du dépôt +``` +git status +git log --oneline --graph --decorate --all +``` +- Affiche les changements en attente. +- Montre l'historique des commits. + +12. Taguer le rendu final et le pousser +``` +git tag -a v1.0 -m "Rendu final du compte-rendu" +git push origin --tags +``` +- Ajoute un tag au commit final. +- Envoie le tag sur GitLab. + + +Questions : + +Comment connaître les fichiers / répertoires présents dans le dossier de travail non suivis par Git ? + +Utiliser : +''' +git status +''' + +Comment vérifier que les fichiers / répertoires sont bien indexés ? + +Utiliser : +''' +git status +''' + +Comment vérifier que le commit a bien été effectué et que le dépôt local est bien à jour ? + +Utiliser : +''' +git log +''' + +Comment vérifier que le dépôt local est bien lié au dépôt distant ? + +Utiliser : +''' +git remote -v +''' + +Comment vérifier que le dépôt distant et le dépôt local sont synchronisés ? + +Utiliser : +''' +git fetch origin +git status +''' + +Comment vérifier que le dépôt distant est bien en retard sur le dépôt local ? + +Utiliser : +''' +git log origin/main..HEAD --oneline +''' + + + + +Compte rendu TP : Git + +1. Clonage d'un dépôt distant + +Alice (Création du dépôt sur GitLab) +``` +Créer un dépôt sur GitLab nommé tp-git (avec README activé) +``` + +Bob (Cloner le dépôt) +``` +git clone https://gitlab.univ-lorraine.fr/alice/tp-git.git +cd tp-git +git status +``` + +- Vérifie que le dépôt est bien cloné. + +--- + +2. Travail collaboratif et gestion de conflits + +Situation 1 : Alice travaille et Bob doit récupérer les mises à jour + + Alice : Ajout d'un fichier +``` +touch alice.txt +echo "Hello from Alice" > alice.txt +git add alice.txt +git commit -m "feat: ajout du fichier alice.txt" +git push +``` + +Bob : Récupération des mises à jour d'Alice +``` +git pull +ls -a Vérifie que alice.txt est bien présent +git log --oneline Vérifie l'historique des commits +``` + +--- + +Situation 2 : Alice et Bob travaillent sur des fichiers différents + +Alice : Modification et push +``` +echo "Modification Alice" >> alice.txt +git add alice.txt +git commit -m "feat: modification de alice.txt" +git push +``` + +Bob : Création d'un fichier bob.txt sans commit +``` +touch bob.txt +echo "Hello from Bob" > bob.txt +git status bob.txt est non suivi +git pull Récupère la modification d'Alice +``` + +- Il n’y a pas de conflit car Bob n'a pas encore commité. + +Bob : Ajout et push de bob.txt +``` +git add bob.txt +git commit -m "feat: ajout de bob.txt" +git push +``` + +--- + +Situation 3 : Gestion de conflit lors d’un pull + +Bob : Modification locale et Alice modifie le même fichier +``` +echo "Changement local de Bob" >> alice.txt +git add alice.txt +git commit -m "fix: modification locale de Bob" +``` + +Alice : Modifie et pousse ses changements +``` +echo "Modification distante d'Alice" >> alice.txt +git add alice.txt +git commit -m "fix: modification distante de Alice" +git push +``` + +Bob : Essayant de faire un pull, mais il y a un conflit +``` +git pull +``` + +- Git détecte un conflit sur `alice.txt`. +- Bob doit résoudre le conflit en éditant le fichier. + +Bob : Résolution du conflit +- Ouvrir `alice.txt` et choisir quelle version garder. +- Supprimer les marqueurs de conflit (`<<<<<<<`, `=======`, `>>>>>>>`). + +``` +git add alice.txt +git commit -m "fix: résolution du conflit sur alice.txt" +git push +``` + +Alice : Récupération des modifications de Bob +``` +git pull +``` + +--- + +4. Taguer la fin du TP +``` +git tag -a v1.0 -m "Rendu final du TP Git" +git push origin --tags +``` + + + -- GitLab