Activité - Initiation à git
Objectifs
Section titled “Objectifs”- Découvrir git
- Connaître les commandes de base Git
- git init, git add, git commit, git reset, git checkout
Étape 1 - Création d’un dépôt Git
Section titled “Étape 1 - Création d’un dépôt Git”(dépôt = repository en anglais. On dit souvent “répo” en français)
Git permet de gérer l’historique des modifications apportées à un projet.
Pour utiliser Git dans un projet, deux options sont possibles :
- La création d’un nouveau dépôt (quand on commence un nouveau projet)
- La copie (clone) d’un dépôt existant (quand on collabore avec d’autres développeurs)
Initialiser un nouveau dépôt Git
Section titled “Initialiser un nouveau dépôt Git”Dans le répertoire du projet, lancez la commande:
git initCette commande crée un répertoire .git à l’intérieur du projet.
Ce répertoire .git va contenir l’historique des modifications du projet.
Exercice
Section titled “Exercice”-
Créer un répertoire bagages puis se placer dans ce répertoire
-
Lancer la commande
git init -
Créer le fichier
mavalise.txt -
Copier / Coller le texte suivant dans ce fichier:
vêtementsmp3eauchapeaucrème solaire -
Entrer la commande
git status -
Passer à l’étape suivante
Étape 2 - Add et Commit
Section titled “Étape 2 - Add et Commit”
-
Pour qu’un fichier soit pris en compte par Git, il faut l’ajouter avec la commande:
Terminal window git addRemarque: Lorsque l’on ajoute un fichier à git, on parle de l’ajouter à l’index. On dit aussi que le fichier est dans la zone de staging (mis en scène)
- On pourra ajouter un fichier avec
git add chemin/vers/mon/fichier.php - On pourra ajouter tous les fichiers avec
git add * - On pourra ajouter un répertoire avec
git add mon_repertoire
- On pourra ajouter un fichier avec
-
Pour qu’une modification soit prise en compte, il faut effectuer un «commit» avec la commande:
Terminal window git commit-
Avec l’option
-mon pourra ajouter un message à notre commit. Par exemple:Terminal window git commit -m "J’ai réparé le bug que j’avais moi-même créé"
-
Exercice
Section titled “Exercice”- Vérifiez l’état de votre dépôt avec
git status. - Vos modifications (l’ajout du fichier
mavalise.txt) devraient être présentes seulement dans la copie de travail (pas dans l’index de Git) - Préparer
mavalise.txtpour le commit avecgit add mavalise.txt. (Maintenant le fichier est dans l’index) - Utilisez
git statusà nouveau pour vérifier que les modifications ont bien été placées dans l’index. - Puis, utilisez
git diff --cachedpour observer les différences entre l’index est la dernière version présent dans l’historique de révision (qui est vide). - “Commitez” votre modification avec
git commit -m "<votre_message_de_commit>" - Exécutez à nouveau
git status, pour vérifier que vos modifications ont bien été “commitées”. - Essayez à présent la commande
git logpour afficher la liste des changements effectués dans ce dépôt ; combien y en a-t-il ? Quel est le numéro (un hash cryptographique en format SHA1) du dernier commit effectué ? - Créez quelques autres fichier
monsac.txt,masacoche.txt, etc - Modifiez le contenu de vos fichiers et effectuer des commits pour chaque modification, séparément.
- Chaque commit doit contenir une et une seule création ou modification de fichier.
- Effectuez au moins 5 modifications différentes (et donc 5 commits différents). À chaque étape essayez les commandes suivantes :
git diffavantgit addpour observer ce que vous allez ajouter à l’index ;git diff --cachedaprèsgit addpour observer ce que vous allez commit.
- Remarque : la commande git commit
a le même effet que git add suivie de git commit. - Regardez à nouveau l’historique des modifications avec
git log - Vérifiez avec
git statusque vous avez bien commit tous vos fichiers.
Remarque: Il existe de nombreuses interfaces graphiques pour gérer les dépôt Git. Cependant, ces interfaces graphiques ne font qu’utiliser les commandes. Il est utile de maîtriser Git en ligne de commande.
Etape 3 - Retour vers le futur
Section titled “Etape 3 - Retour vers le futur”On veut parfois “revenir” en arrière après avoir effectué un git add, si par exemple on a détecté une erreur. Pour cela on utilisera git reset

Exercice
Section titled “Exercice”-
Faire une modification d’un ou plusieurs fichiers puis les ajouter à l’index avec
git add -
Vérifiez cet ajout avec
git status -
Ne faites pas de commit
-
Exécutez
git resetsur le ou les noms de fichier que vous aviez ajouter avecgit add -
Vérifiez le résultat avec
git status -
Votre modification a été « retirée » de l’index.
-
Vous pouvez maintenant la supprimer avec
git checkout <lenomdufichier> -
git checkoutrécupère la version du fichier avant modification -
Vérifiez avec
git statusqu’il n’y a maintenant plus aucune modification à commiter.git checkoutest une commande très puissante. Elle vous permet de voyager entre différentes branches (vous verrez ça plus tard) et aussi de revenir temporairement à une version précédente de votre copie de travail. -
Regardez l’historique de votre dépôt avec
git log; choisissez dans la liste un commit (autre que le dernier). Exécutezgit checkout COMMITIDoù COMMITID est le numéro de commit que vous avez choisi. Vérifiez que l’état de vos bagages est maintenant revenu en arrière, au moment du commit choisi. -
Que dit maintenant
git status?git logn’affiche plus les commits postérieurs à l’état actuel, sauf si vous ajoutez l’option--all.Attention, avec git checkout les fichiers de votre copie de travail sont modifiés directement par Git pour les remettre dans l’état que vous avez demandé. Si les fichiers modifiés sont ouverts par d’autres programmes (e.g. un éditeur de texte comme Emacs), il faudra les réouvrir pour observer les modifications.
-
Vous pouvez retourner à la version plus récente de votre dépôt avec
git checkoutmaster. Vérifiez que cela est bien le cas. Que dit maintenantgit status?