How can I find out who force pushed in git?

Someone used git --force push but I can’t tell who did it from the logs. Is there a way to identify the culprit?

  • How can I install Git to my server which does not have apt-get?
  • Vagrant box within git repository?
  • Why git decide that my file is binary
  • Moving a git repository up one hierarchy level
  • I need to get a list of branches of a git repo without having cloned the repo on my local machine
  • git: all local branches are behind the remote. How can I bring them all up to the remote state?
  • Collapsing a Group of Commits into One on Git
  • Convert line-endings for whole directory tree (Git)
  • Fixing history on GIT repository
  • How can I match a file to a git commit?
  • How to structure dependent projects on github?
  • Change branch-off point
  • One Solution collect form web for “How can I find out who force pushed in git?”

    As I mention in “Distributed Version Control Systems and the Enterprise – a Good mix?”, there is no authorization or authentication with Git alone.

    You need an authorization layer like Gitolite in order to keep track of who does what. (Gitolite comes with its own audit trail mechanism).

    But if your repo is accessible through file (or local) protocol, then you cannot know who forced pushed.

    polygraph (from, and wikipedia)

    Git Baby is a git and github fan, let's start git clone.