Quand je le fais, git diff COMMIT
je vois les changements entre ce commit et HEAD (pour autant que je sache), mais j'aimerais voir les changements qui ont été apportés par ce commit unique.
Je n'ai trouvé aucune option évidente sur diff
/ log
qui me donnera cette sortie.
git
version-control
diff
git-diff
laktak
la source
la source
Réponses:
Pour voir la différence pour un
COMMIT
hachage particulier :git diff COMMIT~ COMMIT
vous montrera la différence entre cetCOMMIT
ancêtre et leCOMMIT
. Voir les pages de manuel de git diff pour plus de détails sur la commande et gitrevisions sur la~
notation et ses amis.Alternativement,
git show COMMIT
fera quelque chose de très similaire. (Les données du commit, y compris ses différences - mais pas pour les commits de fusion.) Voir la page de manuel git show .la source
^
besoins doivent être cités dans les coques Thomson et Bourne (synonyme de|
là-bas) etrc
ses dérivés (opérateur caret) et danszsh
avec Extendedglob activé (not
opérateur globbing)HEAD^
implique le premier parent dans le cas où une validation a plusieurs parents (c.-à-d. Fusionner la validation).git diff COMMIT~ COMMIT
fonctionne pour moi, remarquez le tilde au lieu du curseur. J'utilise la version 2.6.1.windows.1 de git sur Windows 10.Comme mentionné dans " Raccourci pour diff de git commit avec son parent? ", Vous pouvez également l'utiliser
git diff
avec:ou
Avec git show, vous auriez besoin (pour vous concentrer uniquement sur diff) de faire:
Le
COMMIT
paramètre est un commit-ish :Voir gitrevision "SPECIFYING REVISIONS" pour référencer un commit-ish.
Voir aussi " Que signifie tree-ish dans Git? ".
la source
Vous pouvez également essayer cette méthode simple:
la source
git show
affiche les modifications apportées lors de la validation la plus récente.Équivalent à
git show HEAD
.git show HEAD~1
vous ramène 1 commit.la source
Je fais habituellement:
Pour afficher les modifications concernant le dernier commit. Si vous avez plus de validations, augmentez simplement le nombre 1 du nombre de validations que vous souhaitez voir.
la source
Obtenez d'abord l'ID de validation à l'aide de,
Ou
Copiez l'ID de validation.
Maintenant, nous utilisons deux méthodes pour répertorier les modifications d'un commit spécifique,
Méthode 1:
git diff commit_id^! #commit id something like this 1c6a6000asad012
Méthode 2:
la source
^!
signifie ??Cela vous montrera ce qu'il y a dans ce commit. Je pense que vous pouvez faire une plage en mettant simplement un espace entre deux shas de validation.
ce qui est très utile si vous rebasez souvent parce que vos journaux de fonctionnalités seront tous consécutifs.
la source
Depuis la page de manuel de git-diff (1) :
Utilisez le 3ème au milieu:
Également à partir de la même page de manuel, en bas, dans la section Exemples :
Certes, il est libellé un peu confus, ce serait moins déroutant que
la source
git diff HEAD HEAD^
.Ce qui suit semble faire le travail; Je l'utilise pour montrer ce qui a été apporté par une fusion.
la source
git log
? (à cause de stackoverflow.com/a/18585297/6309 )Une autre possibilité:
la source
Vous pouvez utiliser
git diff HEAD HEAD^1
pour voir le diff avec le commit parent.Si vous voulez seulement voir la liste des fichiers, ajoutez l'
--stat
option.la source
diff
commande est: que devrais-je changer dans le fichier pour passer de commitHEAD
à commitHEAD^1
?est également possible si vous avez configuré votre difftool.
Voir ici comment configurer difftool Ou la page de manuel ici
De plus, vous pouvez utiliser
git diff-tree --no-commit-id --name-only -r <commit hash>
pour voir quels fichiers ont été modifiés / validés dans un hachage de validationla source
J'aime la commande ci-dessous pour comparer un commit spécifique et son dernier commit:
Exemple:
la source
Pour voir l'auteur et l'heure par validation, utilisez
git show COMMIT
. Ce qui se traduira par quelque chose comme ceci:Si vous souhaitez voir quels fichiers ont été modifiés, exécutez ce qui suit avec les valeurs de la ligne de fusion ci-dessus
git diff --stat a2a2894 3a1ba8f
.Si vous voulez voir le diff réel, exécutez
git --stat a2a2894 3a1ba8f
la source
git --stat a2a2894 3a1ba8f
". Je pense que tu veux diregit diff a2a2894 3a1ba8f
ou bienunknown option: --stat
.Pour vérifier les modifications complètes:
Pour vérifier uniquement les fichiers modifiés / ajoutés / supprimés:
REMARQUE : pour vérifier les différences sans validation entre les deux, vous n'avez pas besoin de mettre les ID de validation.
la source
J'utilise Git version 2.6.1.windows.1 sur Windows 10, j'ai donc eu besoin d'une légère modification de la réponse de Nevik (tilde au lieu de caret):
Une autre option consiste à citer le curseur:
la source
Cette commande vous obtiendra le hachage de validation parent Git:
Après ça
git diff-tool <commit-hash> <parent-commit-hash>
Exemple:
Après ça
la source
Si vous souhaitez simplement voir les modifications dans le dernier commit, vous le
git show
recevrez simplement .la source
En cas de vérification du changement de source dans une vue graphique,
par exemple:
la source