Is there a difference between pre-push and pre-receive hook in git, in terms of use case or working logic?
The only difference I could understand from their documentation was in terms of the input they receive -
1.Pre-Push : Information about what is to be pushed is provided on the hook's standard input with lines of the form - local ref SP local sha1 SP remote ref SP remote sha1 LF
2.Pre-receive : For each ref to be updated it receives on standard input a line of the format -
old-value SP new-value SP ref-name LF
However, I would like to know if there are particular use cases for each hook or can they be used interchangeably?