Ajoute TP de découverte de Git
This commit is contained in:
parent
dc513f0c4b
commit
1b6da812c1
2 changed files with 141 additions and 0 deletions
7
src/cours/CIEL2/04-git/cours.md
Normal file
7
src/cours/CIEL2/04-git/cours.md
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Git - Initiation
|
||||||
|
|
||||||
|
## Qu'est-ce que git ?
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
## Bases
|
||||||
134
src/cours/CIEL2/04-git/tp.md
Normal file
134
src/cours/CIEL2/04-git/tp.md
Normal 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)
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue