Cómo get el nombre de usuario de Git que forzó el empuje

Recientemente, uno de mis compañeros de equipo ha hecho force push en git (repository remoto en stash) y hemos perdido la mayor parte de nuestro historial de commits anterior y me sorprendió saber que no pudimos identificar quién lo hizo.

Lo busqué en Google pero no pude get una respuesta satisfactoria. ¿Alguien aquí puede ayudar?

No puedes saber si por ciertas razones:

  1. Siempre puede "falsificar" el nombre y el correo electrónico si no está utilizando la key ssh.

     git commit -c user.name <faked name> -c user.email <fake email> ... 
  2. Si el usuario tiene checkout y commit antiguo y el push forzado será commited the commited the last push (asumiendo de nuevo el uso de http / https)

Lo que puedes hacer es verificar los repositorys locales de los desarrolladores con el `git reflog“

Puede intentar y leer los loggings de almacenamiento como se describe aquí
https://confluence.atlassian.com/stashkb/how-to-read-the-stash-log-formats-317951177.html

De nuevo, esto será útil si usa keys ssh. De lo contrario, es inútil.


git reflog

git reflog mostrará cualquier cambio que actualizó el HEAD , en su caso señalando quién cambió y cometió el commit incorrecto.

enter image description here


How to prevent it for next time?

instala este plugin para esconder

Proteger twigs específicas de empujes de fuerza

https://marketplace.atlassian.com/plugins/com.carolynvs.force-field/server/overview