2010-11-02 4 views
130

J'ai un commit c. Je veux obtenir le changeset de cette méta-donnée de commit + c et aucune autre. Y a-t-il une manière plus simple que git log -p c^..c de faire cela?git log d'une seule révision

Répondre

196

Vous pouvez utiliser

git show c 

(où c est la validation id)

+3

oui, exactement. pointer et gagner. – zedoo

+1

'git show' est incroyable. – bryanbraun

7

git log -p c -1 fait exactement cela.

36

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

git log -1 -U c 

Cela vous donnera le journal de livraison, et vous aurez le contrôle total sur toutes les options de journalisation git pour votre des fins d'automatisation. Dans votre cas, vous avez dit que vous vouliez le changement. La façon la plus lisible par l'homme pour 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 serait:

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

Cela vous donnera des résultats semblable à:

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 selon les événements vous semble, et mettre en forme le retour que vous le souhaitez via les commandes traditionnelles git-log qui sont bien documentés here.

+9

Si vous ne voulez pas le diff, faites 'git show --name-only '! – dbn

+12

Si vous ne voulez pas le diff, utilisez 'git show -s '. – moeffju

Questions connexes