Create a Webhook and watch for the Push Event. This event is triggered when you push from the command-line or commit a change through the Web UI.
The JSON Payload will contain the Git Author and the Git Commiter for each files modified. These values come from the .gitconfig
on the user's computer.
The payload also contains the Pusher's Info who is the authenticated GitHub user that has pushed up the code.
To prevent merges until identity checks are passed, enable Protected Branches and Required Status Checks, then have your CI server run checks against the JSON payload delivered from the Webhook.