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