web-dev-qa-db-fra.com

Générer un fichier diff d'un commit spécifique dans git

Lorsque la tête est à un commit particulier, je veux obtenir un fichier diff afin de pouvoir réduire la tête à un niveau de plus, puis essayer la fonctionnalité de test avec et sans appliquer le fichier diff. Il existe donc un moyen de générer un fichier diff d'un commit spécifique.

Même s'il existe un moyen de changer la tête avant et après la validation, cette méthode est plus pratique.

11
Ginu Jacob

Voir les modifications d'un commit spécifique.

$ git diff <commit-sha> -p

OR,
$ git show --decorate <commit-sha>    # see 'Author', 'Date' and 'diff'

Voir la différence de deux commits.

$ git diff <commit1> <commit2>

Voir les modifications file pour un commit spécifique.

$ git show <commit>:<file>

Voir toutes les modifications pour une durée (disons, 1 day).

$ git whatchanged --since="1 day ago" -p
$ git whatchanged --since="1 day ago" -p <file>   # see changes for a specific file only
11
Sajib Khan

Si je vous comprends bien, vous voulez obtenir un diff pour un fichier avec un niveau en dessous de HEAD

pour vérifier la différence de fichier par rapport à HEAD à un niveau avant

git diff HEAD^1 filename

le numéro 1 correspond au niveau que vous souhaitez comparer,

vous pouvez obtenir un diff en utilisant SHA également, pour voir tous les commits avec leur SHA use

git log --oneline

puis vous pouvez utiliser le SHA pour obtenir un diff pour comparer le courant HEAD avec une utilisation de validation spécifique

git diff commitSHA filename

si vous voulez obtenir toutes les différences entre deux commit, vous pouvez utiliser

git diff commitSHA1..commitSHA2 filename
5
OceanWavez