bomz дал правильный вариант, но с неправильным синтаксисом.Фиксированная строка будет выглядеть следующим образом:
git log -L '/the line from your file/,+1:path/to/your/file.txt'
Значение аргумента для -L
- это «найти первое вхождение регулярного выражения /the line from your file/
в path/to/your/file.txt
и показать журнал, относящийся к одному диапазону строк, начинающемуся сэта точка (имеется в виду только эта строка, но вы могли бы сказать +5 вместо этого) ".
Предостережение заключается в том, что если в строке содержатся символы со специальным значением в регулярном выражении, вам необходимо их избежать.
Однако, , вероятно, гораздо проще использовать номер строки , например:
git log -L15,+1:'path/to/your/file.txt'
(для строки 15 файла path/to/your/file.txt
)
В обоих случаях+1
можно заменить на большее число, чтобы получить больше строки, или на регулярное выражение для соответствия концу выбранного диапазона.
Подробное описание от документов :
-L <start>,<end>:<file>
-L :<funcname>:<file>
Отследить эволюцию диапазона линий, заданного ", " (или именем функции regex ) в пределах .Вы не можете давать какие-либо ограничения пути.В настоящее время это ограничивается прогулкой, начинающейся с одной ревизии, т. Е. Вы можете указать только один или несколько положительных аргументов ревизии.Вы можете указать эту опцию более одного раза.
и могут принимать одну из следующих форм:
число
Если или - это число, указывающее абсолютный номер строки (количество строк от 1).
/ regex /
В этой форме будет использоваться первыйстрока, соответствующая данному регулярному выражению POSIX.Если является регулярным выражением, он будет искать с конца предыдущего диапазона -L, если таковой имеется, или с начала файла.Если равно «^ / regex /», он будет искать с начала файла.Если является регулярным выражением, поиск будет начинаться со строки, заданной как .
*. 1055 * + смещение или -offset
Это действительно только для и будет указывать количество строк до или после строки, заданной .
Если вместо и * 1068 указано «: »*, это регулярное выражение, которое обозначает диапазон от первой строки funcname, которая соответствует , до следующей строки funcname.«: » выполняет поиск в конце предыдущего диапазона -L, если он есть, в противном случае - в начале файла.«^: » выполняет поиск с начала файла.