GIT und GitHub - Wie kann ich feststellen, wer einen Commit in ein Repository erhalten hat?

8

Auf GitHub:

Eve schreibt Code in ihr Fork eines populären Projekts, schreibt sich als "Eve" <[email protected]> fest und sendet eine Pull-Anfrage aufwärts.

Alice bemerkt nicht, dass Eves Code eine Hintertür zu dem populären Projekt enthält, an dem sie arbeitet, hält den Code für großartig und fügt die Pull-Anfrage zusammen.

Später wird jeder in Besitz genommen.

Bob, Alices Boss, würde gerne jemanden entlassen, der den Code gelandet hat. Er macht git log --full und sieht:

%Vor%

git log --fuller hilft nicht, und Eve hat keine direkten Push-Rechte für das Repository.

Bob kann den Pull-Request-Verlauf durchsuchen und es so finden, aber das ist scheiße. Gibt es eine Möglichkeit, dies lokal herauszufinden?

    
Dead Pixel 20.03.2012, 21:57
quelle

1 Antwort

3

Im Allgemeinen können Sie mit git git signoff verwenden (siehe Was ist die Abmeldungsfunktion in Git? ) und fügen Sie dann einen Aktualisierungs-Hook hinzu, um alle Pushs abzulehnen, die keine Abmeldung haben. GitHub scheint jedoch im Allgemeinen keine benutzerdefinierten Hooks zuzulassen, aber Sie könnten einen Post-Receive-Hook hinzufügen, um alle zukünftigen Push-Ereignisse zu protokollieren:

Ссылка

Wenn dies ein Ereignis war, das bereits passiert ist, könnte es schwer (oder unmöglich?) sein, es aufzuspüren. Vielleicht können Sie sich die git reflog- und ssh-Protokolle ansehen, aber ich bin mir nicht sicher, ob GitHub solche Informationen bereitstellt. Wenn es wirklich eine Sicherheitsverletzung war, könnte es sich zumindest lohnen, sie zu fragen, welche Protokolle sie haben.

    
amcnabb 20.03.2012, 22:08
quelle

Tags und Links