Git log для определенной строки в файле между идентификатором фиксации и предыдущей датой?

#git #terminal #git-log #git-blame

#git #терминал #git-log #git-виноват

Вопрос:

Предположим, что файл (и его путь) path/to/file в определенной версии зафиксирован в фиксации с определенным sha, который мы вызываем hex_sha . После использования git blame file/to/path hex_sha я получаю каждую строку, измененную в этой редакции. Для этого примера мы предполагаем проверить строку с номером line_i , предполагающим другую предшествующую дату date_limit . Как я могу использовать git log , чтобы узнать, сколько раз (или список коммитов) строка line_i в файле path/to/file была изменена с версии с помощью sha hex_sha до определенной даты date_limit ?

Я пробовал: git log --since=date_limit origin..hex_sha -- -Lline_i, 1:path/to/file и другие различные варианты этой команды, но ничего не происходит, или git плохо понимает имя файла. У меня сложилось впечатление, что после -- того, как присутствует целевая ревизия, git принимает первый аргумент после -- как путь к файлу. Я уверен, что date_limit предшествует фиксации в экзамене.

Комментарии:

1. Все , что после -- , считается путем.

2. Это была моя забота, но могу ли я указать другие параметры, требующие — (например, since)? Я читаю git-scm.com/docs/git-log руководство ничего не говорит о моей проблеме

3. -- само по себе, как и в git something -- whatever , указывает на конец опций. --option не работает. So git something --foo --bar -- --baz означает, что --foo и --bar являются параметрами для git-something команды, но --baz это имя файла (или pathspec) для git-something команды. (Ну, нет git-something команды, но если бы она была, это то, что это было бы.)