git log d'une seule révision


183

J'ai un commit c. Je veux obtenir le jeu de modifications de cette méta-information exacte commit c + et aucune autre. Y a-t-il un moyen plus simple que git log -p c^..cde le faire?

Réponses:



60

La réponse de Michal Trybus est la meilleure pour la simplicité. Mais si vous ne voulez pas la différence dans votre sortie, vous pouvez toujours faire quelque chose comme:

git log -1 -U c

Cela vous donnera le journal de validation, puis vous aurez un contrôle total sur toutes les options de journalisation git à des fins d'automatisation. Dans votre cas, vous avez dit que vous vouliez l'ensemble de modifications. Le moyen le plus lisible par l'homme d'y parvenir serait:

git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c

Ou, si vous utilisez une version git supérieure à 1.8.X, ce serait:

git log --name-status --diff-filter="ACDMRT" -1 -U c

Cela vous donnera des résultats similaires à:

commit {c}
Author: zedoo <zedoo@stackoverflow.com>
Date: Thu Aug 2 {time-stamp}

   {short description}
D    zedoo/foo.py
A    zedoo/bar.py

Bien sûr, vous pouvez filtrer les événements qui vous conviennent et formater le retour comme vous le souhaitez via les commandes git-log traditionnelles qui sont bien documentées ici .


14
Si vous ne voulez pas le diff, faites-le git show --name-only <sha1>!
dbn

16
Si vous ne voulez tout simplement pas le diff, utilisez git show -s <commit>.
moeffju

3
Que fait -1-on? Où est-il documenté?
alex

1
@alex Voir la sortie de git help logsous la section "Limitation de validation". Ou voir git-scm.com/book/en/v2/… -<number> limite le nombre de commits à sortir.
LarsH


0

Vous pouvez utiliser pour filtrer les modifications par description du commit:

git log --grep='part_of_description' -p

git log --grep='part_of_description'sélectionnez les commits qui contiennent 'part_of_description' et -paffichez le changeset de chaque commit

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.