Diferencias entre múltiples commits no consecutivos y HEAD

¿Sabes cómo puedo ver las diferencias entre múltiples compromisos no consecutivos y la confirmación actual? Digamos que tengo una historia de usuario '457', y aquí están todos los cambios que hice al implementarlo:

$ git log1 | grep '457' * 3451c32 - (2 days ago) 457: Sql for converting from kJ/g to kJ/100g * 51ebc26 - (3 days ago) 457: Refactoring code * 4e0c3de - (3 days ago) 457: Refact constructDataForGrid * 50fcef2 - (8 days ago) 457: Dont show value while empty or zero * a901da1 - (8 days ago) 457: Dynamic conversion done * 6adf6e4 - (8 days ago) 457: Refactor constant: DBTechnicalDataID and UITechnicalDataID * bb961eb - (8 days ago) 457: Show total unit on create * fea5bb6 - (9 days ago) 457: Add comment for TabDataTag.java 

¿Cómo puedo hacer algo como git diff 457 HEAD , donde 457 contiene todos mis cambios anteriores?

FYI, el git log1 está tomado de aquí: Git bonitos git branch

 git log --grep <story name/number> 

para un ejemplo

 git log --grep 457