Question Trouver diff entre la version actuelle et la dernière version?


En utilisant Git, comment trouver la différence entre la version actuelle et la dernière version?

git diff last version:HEAD

486
2018-03-28 08:15


origine


Réponses:


Je ne comprends pas vraiment le sens de "dernière version".

Comme le commit précédent est accessible avec HEAD ^, je pense que vous cherchez quelque chose comme:

git diff HEAD^ HEAD

À partir de Git 1.8.5, @ est un alias pour HEAD, donc vous pouvez utiliser:

git diff @~..@

Ce qui suit fonctionnera également:

git show

Si vous voulez connaître le diff entre la tête et tout engagement, vous pouvez utiliser:

git diff commit_id HEAD

Et cela lancera votre outil de diff visuel (s'il est configuré):

git difftool HEAD^ HEAD

Comme la comparaison avec HEAD est la valeur par défaut, vous pouvez l’omettre (comme indiqué par Orient):

git diff @^
git diff HEAD^
git diff commit_id

Avertissements

  • @ScottF et @Panzercrisis expliquent dans les commentaires que sur Windows le ~ le caractère doit être utilisé à la place de ^.

843
2018-03-28 08:19



En supposant que "version actuelle" est le répertoire de travail (modifications non validées) et que "dernière version" est HEAD (dernières modifications engagées pour la branche actuelle), faites simplement

git diff HEAD

crédit pour suivre va à l'utilisateur Cerran

Et si vous passez toujours la zone de mise en scène avec -a lorsque vous vous engagez, vous pouvez simplement utiliser git diff.

Résumé

  1. git diff montre des changements non équilibrés.
  2. git diff --cached montre les changements mis en scène.
  3. git diff HEAD montre tous les changements (à la fois staged et non-staging).

Source: git-diff (1) Page Manuelle - Cerran


115
2018-03-28 08:17



Comme souligné sur un commentaire par alliage, si par "versions actuelles et dernières" vous voulez dire le dernier commit et le commit avant cela, vous pouvez simplement utiliser

git show

88
2017-10-14 17:46



Différence entre un dernier commit et un dernier commit (plus l'état actuel, le cas échéant):

git diff HEAD~

ou même (plus facile à taper)

git diff @~

47
2017-11-06 03:57



Vous pouvez le faire aussi:

Comparer avec le commit précédent

git diff --name-status HEAD~1..HEAD

Comparer avec les deux commits actuels et précédents

git diff --name-status HEAD~2..HEAD

40
2017-10-13 22:40



Utilisez simplement le cached flag si vous avez ajouté, mais ne vous êtes pas encore engagé:

git diff --cached --color

12
2017-12-01 16:35



Rapide et simple, en supposant que vous êtes dans le maître:

    git diff (checkout_id):file.txt file.txt

Exemple:

    git diff asdfioei91819280din198:file.txt file.txt

5
2018-03-16 19:09



Premièrement, utilisez "git log"pour lister les logs sur le repo.

Maintenant, sélectionnez les deux commit-ids, se rapportant aux deux commits, vous voulez voir les différences (Exemple  - Le plus haut commit et un plus ancien commit [selon votre attente de la version actuelle et d'une ancienne version]).

Ensuite, utilisez:

git diff <commit_id1> <commit_id2>

ou

git difftool <commit_id1> <commit_id2>

3
2018-02-01 12:55