Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • e47796u/tp-git
1 result
Show changes
Commits on Source (2)
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
```