I have a repository where I'd like to run a program every time the working tree is updated. githooks(5) specifies that you can use post-{checkout,merge} hooks to hook into those two operations.
However that doesn't catch e.g. "git reset --hard". Is there any reason beside omission that there isn't a post-reset hook? Or hooks for any other thing (most of which surely slip my mind) which can update the working tree?