Diferença entre gancho pré-push e pré-recebimento no git?

Existe uma diferença entre o gancho de pré-envio e pré-recebimento no git, em termos de caso de uso ou lógica de trabalho?
A única diferença que eu conseguia entender pelosdocumentação foi em termos da contribuição que eles recebem -

1Pré-envio : As informações sobre o que deve ser enviado são fornecidas na entrada padrão do gancho com linhas do formulário -ref local SP local sha1 SP remoto ref SP remoto sha1 LF

2)Pré-recebimento : Para cada ref a ser atualizada, recebe na entrada padrão uma linha do formato -
valor antigo SP valor novo SP ref-name LF
No entanto, gostaria de saber se há casos de uso específicos para cada gancho ou eles podem ser usados de forma intercambiável?

questionAnswers(1)

yourAnswerToTheQuestion