Git: узнай, какие коммиты когда-либо касались ряда строк
У меня возникли проблемы с выяснением, как использоватьgit blame
для получения набора коммитов, которыеКогда-либо коснулся заданного диапазона линий. Есть похожие вопросы, такие какэтот но принятый ответ нене приведи меня намного дальше.
Позволять'скажем, у меня есть определение, которое начинается в строке 1000foo.rb
, Это'Длина всего 5 строк, но количество коммитов, которые когда-либо меняли эти строки, огромно. Если я сделаю
git blame foo.rb -L 1000,+5
Я получаю ссылки на (самое большее) пять различных коммитов, которые изменили эти строки, но я 'Я также заинтересован в коммитахпозади них".
Так же,
git rev-list HEAD -- foo.rb | xargs git log --oneline
это почти то, что я хочу, но я могуt указать диапазоны строк доgit rev-list
Могу ли я передать флагgit blame
чтобы получить список коммитов, которые когда-либо касались этих пяти строк, или чтосамый быстрый способ создать скрипт, который извлекает такую информацию? Позволять'На данный момент игнорируем возможность того, что определение когда-то содержало более или менее 5 строк.