Ajoute TP de découverte de Git

This commit is contained in:
Alexis Fourmaux 2025-09-19 12:00:09 +02:00
parent dc513f0c4b
commit 1b6da812c1
2 changed files with 141 additions and 0 deletions

View file

@ -0,0 +1,7 @@
# Git - Initiation
## Qu'est-ce que git ?
## Installation
## Bases

View file

@ -0,0 +1,134 @@
# TP - Découverte de Git
## Objectifs du TP
### Objectif pédagogique
L'objectif de cette activité est de découvrir le logiciel de gestion de versions git pour tenter de comprendre son rôle et ses possibilités.
- **Installer :** installer le logiciel sur vos machines
- **Dépôt :** créer un nouveau dépôt
- **Commit :** créer un ou plusieurs commits
- **Historique :** visualiser et manipuler l'historique
### Objectif technique
- Initialiser un projet de développement versionné
## Étapes
### 1 - Installation
**Objectif :** Installer git
```admonish travail
- Se rendre sur le site officiel de git et récupérer l'installateur : [Download for Windows](https://git-scm.com/downloads/win)
- Le lancer pour installer git
- Choisir VSCode comme éditeur par défaut
- Choisir de nommer vos branches par défaut `main` au lieu de laisser git décider
- Choisissez l'option `Only-ever fast-forward` comme comportement par défaut pour le `git pull`
- Utiliser les options par défaut pour le reste
```
```admonish note title="Dans le compte rendu"
1. Grâce à la [documentation](https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control) et vos recherches, essayer de résumer (en 2-3 lignes maximum) ce que fait git. Dites ce que vous comprenez de la notion de Version Control System.
```
### 2 - Création d'un nouveau dépôt
**Objectif :** Créer un nouveau dépôt
```admonish travail
1. Créer un nouveau répertoire vide dans votre espace personnel
2. L'ouvrir avec VSCode
3. Dans VSCode ouvrir un terminal et taper la commande `git init`
4. Ouvrir votre répertoire dans l'explorateur Windows et afficher les éléments masqués pour voir le répertoire caché qui s'y trouve (ou dans le terminal tapez `dir -force`)
```
```admonish note title="Dans le compte rendu"
1. Grâce à la [documentation](https://git-scm.com/docs/git-init), dites en quelques mots ce que fait la commande `git init`
1. Quel est le nom du répertoire caché que git crée ?
1. Qu'est-ce qu'un dépôt git ?
```
### 3 - Un premier commit
**Objectif :** Créer un premier commit
```admonish travail
1. Commencer par donner quelques informations à git pour signer le travail.
- tapez `git config --global user.email "you@example.com` (en adaptant)
- tapez `git config --global user.name "Your name"` (en adaptant)
1. Créer ensuite un fichier `README.md`, et dans ce fichier taper une rapide description (de votre choix)
1. Taper maintenant `git status` et constatez que git a détecté votre fichier, qui est marqué comme `Untracked file`
1. À l'aide de la documentation de `git add`, demander à git de tracer votre fichier. Lorsque vous aurez réussi, la commande `git status` vous affichera le nom du fichier en vert précédé de `new file:`.
1. Tapez ensuite `git commit`. VSCode devrait ouvrir un onglet `COMMIT_EDITMSG`. Tapez un commentaire **sur la première ligne** pour décrire votre commit (par exemple `Commit initial avec README`). Sauvegardez le fichier et fermez l'onglet. La commande devrait se terminer avec succès dans le terminal.
```
```admonish note title="Dans le compte rendu"
1. A l'aide de la [documentation](https://git-scm.com/docs), dites en quelques lignes ce que font les commandes suivantes
- `git add`
- `git status`
- `git commit`
1. Essayez de décrire ce qu'est un "commit"
```
### 4 - Ajouter des modifications
**Objectif :** Se repérer dans les étapes de validation d'une modification
```admonish travail
1. Taper la commande `git log`. Vous devriez y voir votre commit. Prêter attention aux différentes informations qui s'affichent.
2. Faites une modification quelconque dans votre fichier `README.md`, sauvegardez-la, puis tapez `git status` dans le terminal. Constatez que git a pris en compte la modification du fichier (mais ne l'a pas enregistrée).
3. Tapez `git diff` et observez la sortie de la commande.
4. Utilisez la commande `git add -u` après avoir vérifié ce que fait l'option -u dans la [documentation](https://git-scm.com/docs/git-add#Documentation/git-add.txt--u).
5. Vérifiez de nouveau ce que vous renvoient `git status`, `git diff` et `git log`.
6. Effectuez un commit à l'aide de `git commit`. Choisissez un message vous permettant de distinguer votre nouveau commit du précédent. Puis réeffectuez les commandes `git status`, `git diff` et `git log`.
```
```admonish note title="Dans le compte rendu"
1. Observer la sortie de la commande `git log`. Quelles informations sont affichées ? Dans quel ordre semblent être affichés les commit ?
1. Que semble faire la commande `git diff` ?
1. Quelles sont les étapes nécessaires pour enregistrer une modification sur un fichier dans git ? Quel est l'intérêt de ce découpage selon vous ?
```
### 5 - Manipuler l'historique
**Objectif :** Manipuler l'historique de votre dépôt pour annuler des modifications
```admonish travail
1. Tapez la commande `git diff HEAD^1`
1. Effectuez une nouvelle modification dans votre fichier `README.md` et sauvegardez. Tapez `git status` et lisez bien le résultat de la commande. Essayez, au regard de votre lecture, d'annuler vos modifications.
1. Observez le résultat de la commande `git log`, puis lancez `git reset HEAD^1`. Effectuez ensuite les vérifications habituelles : `git diff`, `git status` et `git log`.
1. Effectuez un commit pour réenregistrer les modifications.
```
```admonish note title="Dans le compte rendu"
1. Quel est l'intérêt de la commande `git restore` ?
1. Que semble faire la commande `git diff HEAD^1` ? et `git reset HEAD^1` ? Concluez sur la signification de `HEAD^1`
```
### 6 - Etiqueter un commit
**Objectif :** Comprendre la notion d'étiquette (ou tag)
```admonish travail
1. A l'aide de `git log`, relever le hash (identifiant) d'un ancien commit (autre que votre dernier commit)
1. Créer une étiquette `my_tag` sur ce commit en vous aidant de la [documentation de `git tag`](https://git-scm.com/docs/git-tag). Pour identifier un commit vous pouvez utiliser le hash relevé précédemment.
1. Repérez le tag dans l'historique avec `git log`.
1. Tapez la commande `git switch --detach my_tag`. Réaffichez le log.
1. Revenez en arrière à l'aide de `git switch -`
```
```admonish note title="Dans le compte rendu"
1. Que semble faire la commande `git switch` ? Quel est l'intérêt ?
1. Qu'est-ce qu'un tag git selon vous ? A quoi cela peut servir ? Aidez vous de la [documentation](https://git-scm.com/book/en/v2/Git-Basics-Tagging) et/ou de vos recherches
```
## Ressources supplémentaires
- [Git book](https://git-scm.com/book/en/v2)
- [Git doc](https://git-scm.com/doc)
- [Git videos](https://git-scm.com/videos)