21/04/2021

3. Comparer

Lu 823 fois Licence Creative Commons

Comparer pour obtenir les différences

La commande diff permet de comparer des commits ou fichiers du projet et d'en afficher les différences.

Observer les différences dans un fichier depuis le dernier commit:

git diff README.md
[output]diff --git a/README.md b/README.md
[output]index af0d30a..f9cd572 100644
[output]--- a/README.md
[output]+++ b/README.md
[output]@@ -1,6 +1,5 @@
[output] # Cours git
[output] 
[output] Projet d'initiation à **Git**
[output]-Ceci est un dépôt d'entrainement.
[output] 
[output] Penser à exécuter `git log` pour voir l'historique du cours.

Note: N'affichera que ce qui n'a pas été ajouté au staging. Pour voir ce qui a été ajouté au staging, ajouter l'option --cached: git diff --cached README.md


Format

Dans un fichier, ce qui a été ajouté sera affiché en vert préfixé de +, ce qui a été supprimé en rouge préfixé de -.
La ligne d'en-tête (celle contenant @@) résume les changements apportés:

  • -1,6 indique que 1 ligne a été supprimée à partir de la ligne 6
  • +1,5 indique que 1 ligne a été ajoutée à partir de la ligne 5

Comparer avec des commits

Observer les différences dans un fichier depuis un commit particulier:

git diff bbd7c93 README.md
[output]diff --git a/README.md b/README.md
[output]index c223928..f9cd572 100644
[output]--- a/README.md
[output]+++ b/README.md
[output]@@ -1,4 +1,5 @@
[output] # Cours git
[output] 
[output] Projet d'initiation à **Git**
[output]-Ceci est un dépôt d'entrainement.
[output]+
[output]+Penser à exécuter `git log` pour voir l'historique du cours.

Observer les différences dans un fichier entre 2 commits:

git diff bbd7c93 daaad19 README.md
[output]diff --git a/README.md b/README.md
[output]index c223928..af0d30a 100644
[output]--- a/README.md
[output]+++ b/README.md
[output]@@ -2,3 +2,5 @@
[output] 
[output] Projet d'initiation à **Git**
[output] Ceci est un dépôt d'entrainement.
[output]+
[output]+Penser à exécuter `git log` pour voir l'historique du cours.

Observer les différences entre 2 commits:

git diff ae388b9 bbd7c93
[output]diff --git a/commit/commit.md b/commit/commit.md
[output]new file mode 100644
[output]index 0000000..43b391d
[output]--- /dev/null
[output]+++ b/commit/commit.md
[output]@@ -0,0 +1,3 @@
[output]+# Commits
[output]+
[output]+Un commit est un point de sauvegarde dans Git.
[output]diff --git a/commit/staging.md b/commit/staging.md
[output]new file mode 100644
[output]index 0000000..23cb2ed
[output]--- /dev/null
[output]+++ b/commit/staging.md
[output]@@ -0,0 +1,4 @@
[output]+# Staging
[output]+
[output]+La zone de staging permet de lister les changements que l'on souhaite enregistrer
[output]+dans le prochain commit.