Finde Commit mit dem kleinsten Diff

8

Ich habe eine Reihe von Dateien gesendet, die aus demselben Git Repo stammen, mit dem ich arbeite, aber sie wurden gegen einen älteren Commit entwickelt. Wie finde ich heraus, welches Commit verwendet wurde? Etwas wie die wenigsten Zeilen des Diff.

    
Reactormonk 05.12.2012, 19:19
quelle

1 Antwort

4
  

Wie finden Sie heraus, welchen Commit sie verwendet haben? Etwas wie die wenigsten Zeilen des Diff.

Nun, Sie können genau das tun: Finden Sie das Commit mit dem kleinsten Unterschied gegen Ihr Zielverzeichnis. Führen Sie einfach eine Schleife über alle Commits in Ihrem Repository aus, und berechnen Sie für jedes ein diff mit Ihrem Zielverzeichnis und merken Sie sich das mit dem kleinsten diff.

Nehmen wir an, Sie haben Ihr Repository in ./repo und die fraglichen Dateien in ./target .

%Vor%

Dies wird bei einem Repository mit einer langen Historie etwas dauern, aber es funktioniert. Es wird die Größe des Diffs ausgegeben, gefolgt von der Commit-ID für das Commit mit dem kleinsten Diff.

Wenn Sie dieses Skript unterbrechen, während es ausgeführt wird, müssen Sie einen entsprechenden Zweigkopf überprüfen (z. B. git checkout master ).

    
larsks 05.12.2012, 21:50
quelle

Tags und Links