Had a similar situation where a server side hook was involved, as @VonC mentioned, while trying to do the initial push to a empty Bitbucket Git repo (self-hosted in-house Bitbucket instance). The push contained commits from me and other earlier colleagues.
In my case it was the YACC (Yet Another Commit Checker) hook which complained about some e-mail addresses not known in the server. Those e-mail addresses were used in commits during early project setup, by colleagues who meanwhile left the organization, an their accounts were deleted. See also this Atlassian article.
But, instead of globally deactivating the hook (as suggested by the Atlassian article), I :
- have first explicitly activated the hook for my repo with empty settings (that overrides for my repo the global hook settings),
- then made the initial push,
- and then disabled again the plugin for my repo (plugin remains active, but only with the server-wide hook settings!).