... | @@ -13,17 +13,23 @@ L'objectif de ce qui suit est de prendre en main l'outil de gestion de versions |
... | @@ -13,17 +13,23 @@ L'objectif de ce qui suit est de prendre en main l'outil de gestion de versions |
|
* [Inversion de modifications](#inversion-de-modifications)
|
|
* [Inversion de modifications](#inversion-de-modifications)
|
|
- [Ressources utiles](#ressources-utiles)
|
|
- [Ressources utiles](#ressources-utiles)
|
|
|
|
|
|
<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>
|
|
[<small>_Table of contents generated with markdown-toc_</small>](http://ecotrust-canada.github.io/markdown-toc/)
|
|
|
|
|
|
__N.B.__ : _les manipulations suivantes sont effectuées depuis un terminal Linux-compatible, les commandes ont des équivalents sous Windows._
|
|
> _Les manipulations suivantes sont effectuées depuis un terminal Linux-compatible, les commandes ont des équivalents sous Windows._
|
|
|
|
|
|
## Création d'un dépôt local
|
|
## Création d'un dépôt local
|
|
|
|
|
|
_On suppose que l'on se trouve dans un répertoire local `4git` (vide) où l'on souhaite commencer à développer_.
|
|
> _Dans la suite, on suppose que l'on se trouve dans un répertoire local `4git` (vide) où l'on souhaite commencer à développer_. Il est donc nécessaire de créer ce répertoire au besoin et de s'y déplacer.
|
|
|
|
|
|
|
|
```
|
|
|
|
sebastienjean@MacBook-Air-749 ~ % mkdir 4git
|
|
|
|
sebastienjean@MacBook-Air-749 ~ % cd 4git
|
|
|
|
```
|
|
|
|
|
|
La création du dépôt local s'effectue via la commande `git init`:
|
|
La création du dépôt local s'effectue via la commande `git init`:
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ git init
|
|
sebastienjean@MacBook-Air-749 4git % git init
|
|
hint: Using 'master' as the name for the initial branch. This default branch name
|
|
hint: Using 'master' as the name for the initial branch. This default branch name
|
|
hint: is subject to change. To configure the initial branch name to use in all
|
|
hint: is subject to change. To configure the initial branch name to use in all
|
|
hint: of your new repositories, which will suppress this warning, call:
|
|
hint: of your new repositories, which will suppress this warning, call:
|
... | @@ -35,19 +41,17 @@ hint: 'development'. The just-created branch can be renamed via this command: |
... | @@ -35,19 +41,17 @@ hint: 'development'. The just-created branch can be renamed via this command: |
|
hint:
|
|
hint:
|
|
hint: git branch -m <name>
|
|
hint: git branch -m <name>
|
|
Initialized empty Git repository in /Users/sebastienjean/4git/.git/
|
|
Initialized empty Git repository in /Users/sebastienjean/4git/.git/
|
|
MacBook-Air-749:4git sebastienjean$
|
|
sebastienjean@MacBook-Air-749 4git %
|
|
```
|
|
```
|
|
La commande a pour effet de créer un dépôt dont le _Working Tree_ et l'historique sont vides.
|
|
|
|
|
|
|
|
<p align="center">
|
|
La commande a pour effet de créer un dépôt dont le _Working Tree_ et l'historique sont vides.
|
|
<img src="uploads/53f8fee980b061a18b9ffa7d03c1d2ea/GitInit.png" width="50%" />
|
|
|
|
</p>
|
|
|
|
|
|
|
|
[//]: 
|
|

|
|
|
|
|
|
> :bulb: Le *Working Tree* est l'arborescence des fichiers versionnés, démarrant à la racine du dépôt, dans la version considérée comme courante. L'historique est la succession de commits (graphe) marquant l'évolution du contenu du *Working Tree* au fil du développement.
|
|
> :bulb: Le _Working Tree_ est l'arborescence des fichiers versionnés, démarrant à la racine du dépôt, dans la version considérée comme courante. L'historique est la succession de commits (graphe) marquant l'évolution du contenu du _Working Tree_ au fil du développement.
|
|
|
|
|
|
L'existence du dépôt créé se matérialise par la création d'un sous- répértoire caché nommé `.git`, que l'on peut observer soit avec un explorateur de fichiers graphique (en prenant soin d'activer l'affichage des éléments cachés), soit en ligne de commande :
|
|
L'existence du dépôt créé se matérialise par la création d'un sous- répértoire caché nommé `.git`, que l'on peut observer soit avec un explorateur de fichiers graphique (en prenant soin d'activer l'affichage des éléments cachés), soit en ligne de commande :
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ ls -al
|
|
MacBook-Air-749:4git sebastienjean$ ls -al
|
|
total 0
|
|
total 0
|
... | @@ -69,7 +73,7 @@ drwxr-xr-x 4 sebastienjean staff 128 Dec 16 10:54 refs |
... | @@ -69,7 +73,7 @@ drwxr-xr-x 4 sebastienjean staff 128 Dec 16 10:54 refs |
|
MacBook-Air-749:.git sebastienjean$
|
|
MacBook-Air-749:.git sebastienjean$
|
|
```
|
|
```
|
|
|
|
|
|
Ce répertoire contient des *méta-données* représentant l'historique, que l'outil _git_ tient à jour au fil des commandes. Les fichiers ne sont pas faits pour être modifiés à la main, à l'exception du fichier `config` qui contient des informations personnalisables de configuration locale du dépôt (voir plus généralement [`git config`](https://git-scm.com/docs/git-config) pour cela) :
|
|
Ce répertoire contient des _méta-données_ représentant l'historique, que l'outil _git_ tient à jour au fil des commandes. Les fichiers ne sont pas faits pour être modifiés à la main, à l'exception du fichier `config` qui contient des informations personnalisables de **configuration locale** du dépôt (voir plus généralement [`git config`](https://git-scm.com/docs/git-config) pour cela) :
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:.git sebastienjean$ more config
|
|
MacBook-Air-749:.git sebastienjean$ more config
|
... | @@ -86,12 +90,13 @@ MacBook-Air-749:.git sebastienjean$ |
... | @@ -86,12 +90,13 @@ MacBook-Air-749:.git sebastienjean$ |
|
|
|
|
|
> :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_)
|
|
|
|
> - **où ?** (à quel commit, précédente version, ce commit est raccroché
|
|
|
|
|
|
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]
|
... | @@ -103,9 +108,9 @@ Le fichier de configuration locale permet de paramétrer l'**identité de l'aute |
... | @@ -103,9 +108,9 @@ Le fichier de configuration locale permet de paramétrer l'**identité de l'aute |
|
|
|
|
|
### Création d'un nouveau fichier
|
|
### Création d'un nouveau fichier
|
|
|
|
|
|
(en se plaçant dans le répertoire de base du dépôt, `4git`)
|
|
(en se plaçant dans le répertoire de base du dépôt, `4git`)
|
|
|
|
|
|
__N.B.__ : ici la création/édition du fichier s'effectue via la commande `cat` (`Ctrl-D` pour terminer), la commande `pwd` permet de savoir dans quel répertoire l'on se trouve, la commande `more` permet d'afficher le contenu du fichier.
|
|
> Ici la création/édition du fichier s'effectue via la commande `cat` (`Ctrl-D` pour terminer), la commande `pwd` permet de savoir dans quel répertoire l'on se trouve, la commande `more` permet d'afficher le contenu du fichier.
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ pwd
|
|
MacBook-Air-749:4git sebastienjean$ pwd
|
... | @@ -139,29 +144,22 @@ MacBook-Air-749:4git sebastienjean$ |
... | @@ -139,29 +144,22 @@ MacBook-Air-749:4git sebastienjean$ |
|
|
|
|
|
Ici, plusieurs informations sont données :
|
|
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 :
|
|
|
|
|
|
<p align="center">
|
|

|
|
<img src="uploads/b6e72399f6acb9f6f216c09982c05797/GitRepoStatus.png" width="60%" />
|
|
|
|
</p>
|
|
|
|
|
|
|
|
[//]: 
|
|
|
|
|
|
|
|
Les changements observés sont consignés par _git_ dans une zone nommée `unstaged` (qu'il s'agisse de la création d'un nouveau fichier ou de la suppression ou modification d'un fichier existant).
|
|
|
|
|
|
|
|
:warning: Ces changements observés n'entrainent pas automatiquement la création d'une nouvelle version.
|
|
:warning: Ces changements observés n'entrainent pas automatiquement la création d'une nouvelle version.
|
|
|
|
|
|
### Préparation d'une nouvelle version
|
|
### Préparation d'une nouvelle version
|
|
|
|
|
|
La sélection des changements à intégrer à la future nouvelle version est explicite et s'effectue
|
|
La sélection des changements à intégrer à la future nouvelle version est explicite et s'effectue s'effectue via la commande [`git add`](https://git-scm.com/docs/git-add) :
|
|
s'effectue via la commande [`git add`](https://git-scm.com/docs/git-add) :
|
|
|
|
|
|
|
|
__N.B__. : On peut utiliser des _jokers_ pour ajouter simultanément plusieurs fichiers, un répertoire, ...
|
|
**N.B**. : On peut utiliser des _jokers_ pour ajouter simultanément plusieurs fichiers, un répertoire, ...
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ git add unFichier.txt
|
|
MacBook-Air-749:4git sebastienjean$ git add unFichier.txt
|
... | @@ -179,18 +177,13 @@ MacBook-Air-749:4git sebastienjean$ |
... | @@ -179,18 +177,13 @@ MacBook-Air-749:4git sebastienjean$ |
|
|
|
|
|
La situation résultante est illustrée ci-dessous :
|
|
La situation résultante est illustrée ci-dessous :
|
|
|
|
|
|
<p align="center">
|
|

|
|
<img src="uploads/44667c5cc8bb44c3f280837d77724d78/GitRepoStatusAdd.png" width="66%" />
|
|
|
|
</p>
|
|
|
|
|
|
|
|
[//]: 
|
|
Les changements pris en compte sont déplacés par _git_ dans une zone nommée `staged`. :warning: Cette prise en compte n'entraine pas automatiquement la création d'une nouvelle version.
|
|
|
|
|
|
Les changements pris en compte sont déplacés par _git_ dans une zone nommée `staged`.
|
|
|
|
:warning: Cette prise en compte n'entraine pas automatiquement la création d'une nouvelle version.
|
|
|
|
|
|
|
|
La validation de la nouvelle version proprement dite est également une opération explicite.
|
|
La validation de la nouvelle version proprement dite est également une opération explicite.
|
|
|
|
|
|
__N.B__. : On peut annuler la prise en compte des changements pour un fichier via la commande `git rm --cached` (de fait, le changement est rebasculé dans la zone `unstaged`).
|
|
**N.B**. : On peut annuler la prise en compte des changements pour un fichier via la commande `git rm --cached` (de fait, le changement est rebasculé dans la zone `unstaged`).
|
|
|
|
|
|
### Création d'une nouvelle version
|
|
### Création d'une nouvelle version
|
|
|
|
|
... | @@ -204,19 +197,13 @@ MacBook-Air-749:4git sebastienjean$ git commit -m "ajout d'un fichier" |
... | @@ -204,19 +197,13 @@ MacBook-Air-749:4git sebastienjean$ git commit -m "ajout d'un fichier" |
|
MacBook-Air-749:4git sebastienjean$
|
|
MacBook-Air-749:4git sebastienjean$
|
|
```
|
|
```
|
|
|
|
|
|
L'option `-m` permet ici de spécifier le message de commit. Celui-ci répond à la question _Pourquoi ?_ de la nouvelle version (les changements pris en compte répondent à la question _Comment ?_, la date d'exécution de la commande répond à la question _Quand ?_, les propriétés de la section `[user]` du fichier de configuration répondent quant à eux à la question _Qui ?_).
|
|
L'option `-m` permet ici de spécifier le message de commit. Celui-ci répond à la question _Pourquoi ?_ de la nouvelle version (les changements pris en compte répondent à la question _Comment ?_, la date d'exécution de la commande répond à la question _Quand ?_, les propriétés de la section `\\\\\\\\\\\\\\\[user\\\\\\\\\\\\\\\]` du fichier de configuration répondent quant à eux à la question _Qui ?_).
|
|
|
|
|
|
Le message de commit est constitué d'un **résumé** qui doit tenir **sur une ligne** et une **description détaillée optionnelle**, de longueur variable et séparée du résumé par une **ligne vide**.
|
|
Le message de commit est constitué d'un **résumé** qui doit tenir **sur une ligne** et une **description détaillée optionnelle**, de longueur variable et séparée du résumé par une **ligne vide**. L'option `-m` permet d'indiquer rapidement et facilement un message sans description détaillée. De façon plus générale, sans l'option `-m`, l'exécution de la commande est déroutée vers un éditeur de texte qui permet de rédiger un message adapté à la situation.
|
|
L'option `-m` permet d'indiquer rapidement et facilement un message sans description détaillée. De façon plus générale, sans l'option `-m`, l'exécution de la commande est déroutée vers un éditeur de texte qui permet de rédiger un message adapté à la situation.
|
|
|
|
|
|
|
|
|
|
|
|
La situation résultante est illustrée ci-dessous :
|
|
La situation résultante est illustrée ci-dessous :
|
|
|
|
|
|
<p align="center">
|
|

|
|
<img src="uploads/272be2885d15067d852e39691ede15ac/GitRepoStatusCommit.png" width="66%" />
|
|
|
|
</p>
|
|
|
|
|
|
|
|
[//]: 
|
|
|
|
|
|
|
|
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 :
|
|
|
|
|
... | @@ -260,7 +247,7 @@ MacBook-Air-749:4git sebastienjean$ |
... | @@ -260,7 +247,7 @@ MacBook-Air-749:4git sebastienjean$ |
|
|
|
|
|
### Comparaison de versions
|
|
### Comparaison de versions
|
|
|
|
|
|
On considère que l'on édite le contenu du fichier précédent en modifiant le texte sur la première ligne pour produire le résultat suivant :
|
|
On considère que l'on édite le contenu du fichier précédent en modifiant le texte sur la première ligne pour produire le résultat suivant :
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ more unFichier.txt
|
|
MacBook-Air-749:4git sebastienjean$ more unFichier.txt
|
... | @@ -282,7 +269,7 @@ no changes added to commit (use "git add" and/or "git commit -a") |
... | @@ -282,7 +269,7 @@ no changes added to commit (use "git add" and/or "git commit -a") |
|
MacBook-Air-749:4git sebastienjean$
|
|
MacBook-Air-749:4git sebastienjean$
|
|
```
|
|
```
|
|
|
|
|
|
__N.B.__ : ici, le fichier est déjà connu.
|
|
**N.B.** : ici, le fichier est déjà connu.
|
|
|
|
|
|
La commande [`git diff`](https://git-scm.com/docs/git-diff), sans paramètre, 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, permet de comparer le _Working Tree_ et la version `HEAD` (et ainsi voir tout ce qui est déclaré _unstaged_) :
|
|
|
|
|
... | @@ -298,7 +285,7 @@ index 927b61b..ee051bd 100644 |
... | @@ -298,7 +285,7 @@ index 927b61b..ee051bd 100644 |
|
MacBook-Air-749:4git sebastienjean$
|
|
MacBook-Air-749:4git sebastienjean$
|
|
```
|
|
```
|
|
|
|
|
|
Pour chaque changement sur un fichier, une description des changements à la syntaxe [_diff_](https://en.wikipedia.org/wiki/Diff#Unified_format) est produite. Elle fusionne les 2 versions du fichier et annote les endroits où se produisent les changements.
|
|
Pour chaque changement sur un fichier, une description des changements à la syntaxe [_diff_](https://en.wikipedia.org/wiki/Diff#Unified_format) est produite. Elle fusionne les 2 versions du fichier et annote les endroits où se produisent les changements.
|
|
|
|
|
|
> :bulb: L'outil _diff_ ne travaille qu'au niveau d'un ligne (pas au niveau de son contenu), ainsi une modification sur une ligne à l'endroit désigné du fichier est vue comme la suppression (`-`) de la ligne et l'ajout (`+`) d'une autre ligne.
|
|
> :bulb: L'outil _diff_ ne travaille qu'au niveau d'un ligne (pas au niveau de son contenu), ainsi une modification sur une ligne à l'endroit désigné du fichier est vue comme la suppression (`-`) de la ligne et l'ajout (`+`) d'une autre ligne.
|
|
|
|
|
... | @@ -311,7 +298,7 @@ MacBook-Air-749:4git sebastienjean$ git commit -a -m "modification du fichier" |
... | @@ -311,7 +298,7 @@ MacBook-Air-749:4git sebastienjean$ git commit -a -m "modification du fichier" |
|
MacBook-Air-749:4git sebastienjean$
|
|
MacBook-Air-749:4git sebastienjean$
|
|
```
|
|
```
|
|
|
|
|
|
__N.B.__ : ici, le fichier est déjà connu. L'option `-a` permet d'éviter l'appel à `git add` et inclus à la nouvelle version l'intégralité du contenu de la zone _unstaged_.
|
|
**N.B.** : ici, le fichier est déjà connu. L'option `-a` permet d'éviter l'appel à `git add` et inclus à la nouvelle version l'intégralité du contenu de la zone _unstaged_.
|
|
|
|
|
|
Il y a donc maintenant 2 versions :
|
|
Il y a donc maintenant 2 versions :
|
|
|
|
|
... | @@ -322,7 +309,7 @@ e08fe66 modification du fichier |
... | @@ -322,7 +309,7 @@ e08fe66 modification du fichier |
|
MacBook-Air-749:4git sebastienjean$
|
|
MacBook-Air-749:4git sebastienjean$
|
|
```
|
|
```
|
|
|
|
|
|
On considère que l'on édite de nouveau le contenu du fichier précédent en modifiant le texte sur la première ligne pour produire le résultat suivant :
|
|
On considère que l'on édite de nouveau le contenu du fichier précédent en modifiant le texte sur la première ligne pour produire le résultat suivant :
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ more unFichier.txt
|
|
MacBook-Air-749:4git sebastienjean$ more unFichier.txt
|
... | @@ -333,6 +320,7 @@ MacBook-Air-749:4git sebastienjean$ |
... | @@ -333,6 +320,7 @@ MacBook-Air-749:4git sebastienjean$ |
|
Il est alors possible, avec `git diff`, de comparer le contenu du fichier à différentes versions :
|
|
Il est alors possible, avec `git diff`, de comparer le contenu du fichier à différentes versions :
|
|
|
|
|
|
- _Working Tree_ Vs `HEAD` :
|
|
- _Working Tree_ Vs `HEAD` :
|
|
|
|
|
|
```diff
|
|
```diff
|
|
MacBook-Air-749:4git sebastienjean$ git diff unFichier.txt
|
|
MacBook-Air-749:4git sebastienjean$ git diff unFichier.txt
|
|
diff --git a/unFichier.txt b/unFichier.txt
|
|
diff --git a/unFichier.txt b/unFichier.txt
|
... | @@ -344,7 +332,9 @@ index ee051bd..53c5f7f 100644 |
... | @@ -344,7 +332,9 @@ index ee051bd..53c5f7f 100644 |
|
+Encore une autre ligne de texte
|
|
+Encore une autre ligne de texte
|
|
MacBook-Air-749:4git sebastienjean$
|
|
MacBook-Air-749:4git sebastienjean$
|
|
```
|
|
```
|
|
- `HEAD` Vs `HEAD~1` (la version parente de `HEAD`) :
|
|
|
|
|
|
- `HEAD` Vs `HEAD\\\\\\\\\\\\\\\~1` (la version parente de `HEAD`) :
|
|
|
|
|
|
```diff
|
|
```diff
|
|
MacBook-Air-749:4git sebastienjean$ git diff HEAD~1 HEAD unFichier.txt
|
|
MacBook-Air-749:4git sebastienjean$ git diff HEAD~1 HEAD unFichier.txt
|
|
diff --git a/unFichier.txt b/unFichier.txt
|
|
diff --git a/unFichier.txt b/unFichier.txt
|
... | @@ -356,7 +346,8 @@ index 927b61b..ee051bd 100644 |
... | @@ -356,7 +346,8 @@ index 927b61b..ee051bd 100644 |
|
+Une autre ligne de texte
|
|
+Une autre ligne de texte
|
|
```
|
|
```
|
|
|
|
|
|
- _Working Tree_ Vs `HEAD~1` :
|
|
- _Working Tree_ Vs `HEAD\\\\\\\\\\\\\\\~1` :
|
|
|
|
|
|
```diff
|
|
```diff
|
|
MacBook-Air-749:4git sebastienjean$ git diff HEAD~1 unFichier.txt
|
|
MacBook-Air-749:4git sebastienjean$ git diff HEAD~1 unFichier.txt
|
|
diff --git a/unFichier.txt b/unFichier.txt
|
|
diff --git a/unFichier.txt b/unFichier.txt
|
... | @@ -368,7 +359,7 @@ index 927b61b..53c5f7f 100644 |
... | @@ -368,7 +359,7 @@ index 927b61b..53c5f7f 100644 |
|
+Encore une autre ligne de texte
|
|
+Encore une autre ligne de texte
|
|
```
|
|
```
|
|
|
|
|
|
__N.B.__ : On peut aussi utiliser en paramètre les _hash_ des commits (abbréviés ou non) mais il est parfois plus simple de se répérer par rapport à `HEAD` (`~1` pour le commit parent, `~2` pour le commit grand-parent, ...) ou même par rapport à `Master` (de la même manière).
|
|
**N.B.** : On peut aussi utiliser en paramètre les _hash_ des commits (abbréviés ou non) mais il est parfois plus simple de se répérer par rapport à `HEAD` (`\\\\\\\\\\\\\\\~1` pour le commit parent, `\\\\\\\\\\\\\\\~2` pour le commit grand-parent, ...) ou même par rapport à `Master` (de la même manière).
|
|
|
|
|
|
### Restauration de versions
|
|
### Restauration de versions
|
|
|
|
|
... | @@ -422,7 +413,7 @@ MacBook-Air-749:4git sebastienjean$ |
... | @@ -422,7 +413,7 @@ MacBook-Air-749:4git sebastienjean$ |
|
```
|
|
```
|
|
|
|
|
|
On décide de les défaire (l'exécution est déroutée vers un éditeur de texte pour rédiger le message de commit) :
|
|
On décide de les défaire (l'exécution est déroutée vers un éditeur de texte pour rédiger le message de commit) :
|
|
|
|
|
|
```
|
|
```
|
|
MacBook-Air-749:4git sebastienjean$ git revert HEAD
|
|
MacBook-Air-749:4git sebastienjean$ git revert HEAD
|
|
[master 268a278] Revert "restauration de la première version"
|
|
[master 268a278] Revert "restauration de la première version"
|
... | @@ -465,6 +456,4 @@ MacBook-Air-749:4git sebastienjean$ |
... | @@ -465,6 +456,4 @@ 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 |
|
|
|
\ No newline at end of file |
|
|
|
|