2012-03-20 21 views
8

En GitHub:GIT y GitHub - ¿Cómo puedo saber quién consiguió un compromiso en un repositorio?

Eve escribe un código en su bifurcación de algún proyecto popular, confirma como "Eve" <[email protected]>, y envía una solicitud de extracción en sentido ascendente.

Alice no se da cuenta de que el código de Eve contiene una puerta trasera para el popular proyecto en el que trabaja, cree que el código es excelente y combina la solicitud de extracción.

Más tarde, todos son propiedad.

Bob, el jefe de Alice, quisiera despedir a quien haya obtenido el código. Él hace un git log --full, y ve:

commit deadbeef 
Author: Eve <[email protected]> 
Commit: Eve <[email protected]> 

git log --fuller no ayuda, y Eva no tiene derechos de empuje directo en el repositorio.

Bob puede profundizar en el historial de solicitudes de extracción, y encontrarlo de esa manera, pero eso apesta. ¿Hay alguna manera de resolver esto localmente?

Respuesta

3

En general, con git, puede usar git signoff (vea What is the Sign Off feature in Git for?) y luego agregue un gancho de actualización para rechazar cualquier inserción que no tenga un inicio de sesión. Sin embargo, no parece GitHub para permitir que los ganchos personalizados en general, pero se puede añadir un post-recibir-gancho para registrar todos los eventos futuros de empuje:

http://help.github.com/post-receive-hooks/

Si este fue un evento que ya pasó, podría ser difícil (¿o imposible?) rastrear. Es posible que pueda ver los registros de git reflog y ssh, pero no estoy seguro de si GitHub proporciona dicha información. Si realmente fue una violación de seguridad, al menos valdría la pena preguntarles qué registros tienen.

+0

Gracias por el puntero a Git Signoff, nunca visto antes, eso podría ser bueno en el futuro. –

+1

Después de hurgar, por lo que puedo ver, esto es bastante imposible. La otra sugerencia que he recibido es que simplemente nunca deberíamos usar el botón de combinación automática en github; en su lugar, hagamos un checkout local y fusionemos la danza para asignar explícitamente committers a todo. –

Cuestiones relacionadas