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?

zedoo
la source

Réponses:

273

Vous pouvez utiliser show:

git show commit_id
Michał Trybus
la source
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 <[email protected]>
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 .

SuperFamousGuy
la source
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
14

git log -p c -1 fait juste cela.

Robert Munteanu
la source
4
Que fait -1? Où est-il documenté?
alex
4
@alex: Le "-1" limite le nombre d'entrées affichées au nombre donné, c'est un raccourci pour -n 1ou --max-number=1et est documenté ici .
derpasaurus
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

natigon
la source