ti-enxame.com

Como posso descobrir quem forçou o git?

Alguém usou git Push --force mas não sei dizer quem fez isso nos logs. Existe uma maneira de identificar o culpado?

36
glevine

Atualize em novembro de 2018: se você estiver enviando um serviço de hospedagem de repositório Git centralizado como o GitHub, , então poderá ver quem forçou o envio do seu ramo . Mas apenas porque o GitHub optou por exibir esse evento em sua GUI.

https://pbs.twimg.com/media/DsJIVxtU4AAreMW.jpg:large

Veja mais em " Encontre o commit de uma força Pressione no GitHub ".


Resposta original 2013:

Como mencionei em " Sistemas de controle de versão distribuídos e a empresa - um bom mix? ", não há autorização ou autenticação apenas com o Git.

Você precisa de um camada de autorização como Gitolite para acompanhar quem faz o quê. (O Gitolite vem com seu próprio mecanismo de trilha de auditoria).

Mas se o seu repo estiver acessível através do protocolo arquivo (ou local) , não será possível saber quem forçou o envio.

polygraph(from motivationalgenerator.com e wikipedia )

56
VonC

Se você tiver sorte o suficiente para usar GitHub ou GitHub for Enterprise , poderá dar uma olhada para a events REST API e verifique quem/quando Push/Dropped para o controle remoto refs, exemplo para log4j:

https://api.github.com/repos/Apache/log4j/events

0
Pierrick HYMBERT