Parfois, lorsque je suis sur le point de faire un commit, je ne me souviens pas exactement de ce qui a changé depuis le dernier commit. Comment puis-je voir une différence entre l'état actuel du code et le dernier commit ?
Réponses
Trop de publicités?Si vous n'avez pas encore ajouté de fichiers à l'index (avec la commande git add
), il suffit de faire
git diff
Cela montrera la différence entre votre arbre de travail et l'index.
Si vous avez ajouté des fichiers à l'index, vous devez le faire pour montrer les différences entre l'index et le dernier commit (HEAD).
git diff --cached
Enfin, si vous voulez voir les changements effectués dans l'arbre de travail par rapport au dernier commit ( HEAD
) vous pouvez (comme le souligne Carlos) faire
git diff HEAD
Ces changements sont la combinaison de git diff
y git diff --cached
.
Si vous venez de faire un commit, ou si vous voulez voir ce qui a changé dans le dernier commit comparé à l'état actuel (en supposant que vous avez un arbre de travail propre) vous pouvez utiliser :
git diff HEAD^
Ceci va comparer le HEAD avec le commit immédiatement précédent. On peut aussi faire
git diff HEAD^^
pour comparer avec l'état des lieux il y a 2 commits. Pour voir la différence entre l'état actuel et un certain commit, il suffit de faire :
git diff b6af6qc
Où b6af6qc
est un exemple de hash de validation.
Avez-vous déjà essayé git show
?
DESCRIPTION : Affiche un ou plusieurs objets (blobs, arbres, tags et commits).
Pour les commits, il montre le message de log et la différence textuelle. Il présente également présente également le commit de fusion dans un format spécial tel que produit par git diff-tree --cc.
extrait de l'aide git
Vous n'avez pas besoin d'écrire HEAD ou le SHA-1 du dernier commit, tapez seulement git show
.
Je pense qu'il serait utile pour vos besoins tout comme les autres réponses mais avec un peu moins de frappe et plus d'informations selon les cas.
J'ajoute ici un échantillon de ce que git show
montre réellement :
>> git show
commit 49832d33b5329fff95ba0a86002ee8d5a762f3ae (HEAD -> my_new_branch, master)
Author: Abimael Domínguez <my_mail@mail.com>
Date: Thu Jan 7 13:05:38 2021 -0600
This is the commit message of the last commit
diff --git a/some_folder/some_file.txt b/some_folder/some_file.txt
index 59fb665..5c36cde 100644
--- a/some_folder/some_file.txt
+++ b/some_folder/some_file.txt
@@ -3,6 +3,6 @@
This is the content of the last updated file
some text
some text
-text deleted
+text added
some text
some text
Cela montre aussi la différence et quels fichiers ont été changés/modifiés.
$ git status
Affiche les chemins qui ont des différences entre le fichier d'index et le commit HEAD actuel, les chemins qui ont des différences entre l'arbre de travail et le fichier d'index, et les chemins dans l'arbre de travail qui ne sont pas suivis par git (et ne sont pas ignorés par gitignore(5)). Les premiers sont ce que vous commettriez en exécutant git commit ; les seconds et troisièmes sont ce que vous pourriez commettre en exécutant git add avant d'exécuter git commit.
https://www.kernel.org/pub/software/scm/git/docs/git-status.html
- Réponses précédentes
- Plus de réponses