> :bulb: Pour rappel, un _commit_ répond aux questions :
> :bulb: Pour rappel, un _commit_ répond aux questions :
> - **quand** ? (*quand la version a été produite*)
> - **quand ?** (*quand la version a été produite*)
> - **qui** ? (*par qui la version a été produte*)
> - **qui ?** (*par qui la version a été produte*)
> - **pourquoi** ? (*ce qui justifie cette version*)
> - **pourquoi ?** (*ce qui justifie cette version*)
> - **comment** ? (*les changements opérés dans cette version*)
> - **comment ?** (*les changements opérés dans cette version*)
Le fichier de configuration locale permet de paramétrer l'identité de l'auteur des commits, de sorte que l'outil _git_ les utilise automatiquement. Ceci se fait en ajoutant la section `[user]` à la suite de la section `[core]` déjà présente :
Le fichier de configuration locale permet de paramétrer l'**identité de l'auteur** des commits, de sorte que l'outil _git_ les utilise automatiquement. Ceci se fait en ajoutant la section `[user]` à la suite de la section `[core]` déjà présente :
```
```
[user]
[user]
...
@@ -141,7 +141,7 @@ Ici, plusieurs informations sont données :
...
@@ -141,7 +141,7 @@ Ici, plusieurs informations sont données :
- la branche courante est `master`
- la branche courante est `master`
- cette branche ne comporte pas encore de versions (commits)
- cette branche ne comporte pas encore de versions (commits)
- git observe dans le _working tree_ l'existence d'un fichier qu'il n'a jamais vu (_untracked_)
- git observe dans le _Working Tree_ l'existence d'un fichier qu'il n'a jamais vu (_untracked_)
- aucun changement n'est actuellement intégré à la future prochaine version
- aucun changement n'est actuellement intégré à la future prochaine version
Cette situation est illustrée ci-dessous :
Cette situation est illustrée ci-dessous :
...
@@ -219,9 +219,9 @@ La situation résultante est illustrée ci-dessous :
...
@@ -219,9 +219,9 @@ La situation résultante est illustrée ci-dessous :
Les changements pris en compte (consignés en zone `staged`) forment une nouvelle version notée ici `0`. A l'historique sont associés 2 pointeurs :
Les changements pris en compte (consignés en zone `staged`) forment une nouvelle version notée ici `0`. A l'historique sont associés 2 pointeurs :
-`Master`, qui désigne le dernier commit (la version la plus récente) de la branche (il se déplace d'un cran vers la droite à chaque commit, et est forcément toujours à droite)
-`Master`, qui désigne le dernier commit (la version la plus récente) de la branche (il se déplace d'un cran vers la droite à chaque commit, et est forcément toujours à droite)
-`HEAD`, qui désigne le commit sur lequel est basé la reconstruction du _working tree_ (il suit généralement le pointeur `Master` mais il est possible de le déplacer explicitement sur n'importe quelle version antérieure pour reconstituer l'état du _working tree_ dans cette version)
-`HEAD`, qui désigne le commit sur lequel est basé la reconstruction du _Working Tree_ (il suit généralement le pointeur `Master` mais il est possible de le déplacer explicitement sur n'importe quelle version antérieure pour reconstituer l'état du _Working Tree_ dans cette version)
L'exécution de la commande `git status` montre que l'état du `working tree` est en phase avec la version `HEAD` (_clean_).
L'exécution de la commande `git status` montre que l'état du `Working Tree` est en phase avec la version `HEAD` (_clean_).
La commande [`git diff`](https://git-scm.com/docs/git-diff), sans paramètre, nous permet de comparer le _working tree_ et la version `HEAD` (et ainsi voir tout ce qui est déclaré _unstaged_) :
La commande [`git diff`](https://git-scm.com/docs/git-diff), sans paramètre, nous permet de comparer le _Working Tree_ et la version `HEAD` (et ainsi voir tout ce qui est déclaré _unstaged_) :
@@ -370,7 +370,7 @@ __N.B.__ : On peut aussi utiliser en paramètre les _hash_ des commits (abbrévi
...
@@ -370,7 +370,7 @@ __N.B.__ : On peut aussi utiliser en paramètre les _hash_ des commits (abbrévi
La commande [`git checkout`](https://git-scm.com/docs/git-checkout) permet de déplacer le curseur `HEAD`sur une version antérieure. Mais son utilisation pour restaurer tout ou partie de la version en question nécessite de manipuler des branches (ce n'est pas l'objet de ce guide).
La commande [`git checkout`](https://git-scm.com/docs/git-checkout) permet de déplacer le curseur `HEAD`sur une version antérieure. Mais son utilisation pour restaurer tout ou partie de la version en question nécessite de manipuler des branches (ce n'est pas l'objet de ce guide).
Néanmoins, si on lui indique en paramètre un fichier ou un répertoire, elle remplace le fichier ou le répertoire du _working tree_ avec une version antérieure sans déplacer `HEAD`.
Néanmoins, si on lui indique en paramètre un fichier ou un répertoire, elle remplace le fichier ou le répertoire du _Working Tree_ avec une version antérieure sans déplacer `HEAD`.
Par exemple, pour restaurer la première version de `unFichier.txt`, il suffit d'exécuter la commande suivante :
Par exemple, pour restaurer la première version de `unFichier.txt`, il suffit d'exécuter la commande suivante :
...
@@ -451,18 +451,16 @@ index 927b61b..ee051bd 100644
...
@@ -451,18 +451,16 @@ index 927b61b..ee051bd 100644
MacBook-Air-749:4git sebastienjean$
MacBook-Air-749:4git sebastienjean$
```
```
On visualise les modifications entre la dernière version et son grand-parent, et on observe qu'elles sont bien nulles (on a rétabli le même contenu du _working tree` :
On visualise les modifications entre la dernière version et son grand-parent, et on observe qu'elles sont bien nulles (on a rétabli le même contenu du _Working Tree` :
```diff
```diff
MacBook-Air-749:4git sebastienjean$ git diff HEAD~2 HEAD unFichier.txt
MacBook-Air-749:4git sebastienjean$ git diff HEAD~2 HEAD unFichier.txt
MacBook-Air-749:4git sebastienjean$
MacBook-Air-749:4git sebastienjean$
```
```
## Ressources utiles
## Ressources utiles :
-[Aide en ligne](https://git-scm.com/docs) de l'outil _git_
-[Aide en ligne](https://git-scm.com/docs) de l'outil _git_
-[Aide mémoire](https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet) des commandes usuelles
-[Aide mémoire](https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet) des commandes usuelles