Ich denke, Sie suchen:
%Vor%Suchen Sie nach Unterschieden, die die Anzahl der Vorkommen der angegebenen Zeichenfolge (z. B. Hinzufügen / Löschen) in einer Datei ändern. Vorgesehen für den Gebrauch des Scripters.
Dies ist nützlich, wenn Sie nach einem genauen Code-Block (wie einer Struktur) suchen und den Verlauf dieses Blocks seit seiner Entstehung kennenlernen möchten: Verwenden Sie das Feature iterativ, um den interessanten Block in der preimage zurück in -S, und weiter so, bis Sie die allererste Version des Blocks bekommen.
Dies würde immer noch ein wenig durchwaten, aber das könnte Sie näher bringen:
%Vor%Dies zeigt den Patch für jedes Commit an, zeigt den Sha an, den es betrachtet, und spuckt dann die entsprechende Codezeile aus. Der relevante Sha für das Match liegt über dem Match.
Sie könnten die Pipeline weiterführen, um die Ergebnisse noch mehr zu bereinigen, wenn dies ein praktikabler Weg ist.
Ich denke, die Antwort, nach der Sie suchen, ist %code% .
Zuerst dachte ich an %code% , aber es betrifft nur add / remove. %code% würde wahrscheinlich nahe an dem sein, was Sie wollen. Hier können Sie den Unterschied zwischen %code% und %code% sehen, und ich habe auch den vollständigen Commit-Verlauf eingefügt, damit Sie sehen können, was nicht abgedeckt ist. Lies die Commit-Nachrichten für eine Beschreibung dessen, was ich im Body getan habe.
%Vor%Um es mit nur den Hashes zu bekommen:
%Vor%Ich habe ein altes Commit %code% auf %code% mit %code% im Commit-Body (nicht den Commit-Titel / Metadaten).
Wie kann ich eine Liste von Commits mit %code% modifiziert (nicht nur vorhanden) in den Commits erstellen, die zu %code% von %code% führen, ohne jedes diff zu inspizieren? (von denen es leider viele im aktuellen Fall gibt.)
Ich habe %code% versucht, aber das scheint alle commits mit %code% zu finden, die in der Datei sind.
%code% scheint nutzlos, da sich die Zeilen geändert haben und %code% verschoben wurde.