Fall
Oft starre ich auf einen alten Code, der nicht richtig aussieht. Es sieht so aus, als ob etwas entfernt wurde (z. B. hat es eine Schleife, die nichts wert ist, oder sie erzeugt eine Variable, benutzt sie aber nicht), oder etwas ist nur schwer zu verstehen. In diesen Fällen müsste ich wirklich den Verlauf dieses Abschnitts der Datei sehen. Nicht die gesamte Datei, nur dieser Abschnitt oder diese Funktion.
Ideale Lösung
Ein einfacher Befehl wie
um Geschichte von Zeile 10 (möglicherweise mit Umgebung) von Datei books.cpp zu finden, ist wahrscheinlich zu viel Magie zu fragen, aber haben Sie Ideen, wie man diese Geschichte herausarbeitet?
Was ich versucht habe
Ich habe versucht, tschuldigung zu verwenden und dann das Commit vor dem gegebenen Commit dieser Zeile auszuprobieren - wiederhole es, bis ich genug gesehen habe. Aber das ist sehr mühsame Arbeit.
Haben Sie das Bedürfnis nach dieser Funktion gespürt? Hast du einen Weg es zu erreichen? Teilen Sie Ihre Erfahrung!
Git ist sehr einfach zu erweitern. Erreicht so etwas, was Sie wollen?
%Vor% Fügen Sie dieses kleine Skript als etwas wie git-linehistory
in Ihren Pfad ein und nennen Sie es so:
Es zeigt Ihnen, wie die Zeilen 5 bis 15 bei jedem Commit für diese Datei aussehen.
git blame -L
können Sie einen Bereich für die auszugebende Zeile oder sogar einen regulären Ausdruck für die gewünschte Funktion angeben. Kurz gesagt können Sie aufeinanderfolgende Aufrufe von git blame -L range <commit> <file-name>
ausführen, um den Verlauf von zeilenweisen Änderungen zu durchsuchen.
Tags und Links git