Может ли Git показывать историю для выбранных строк?

У меня есть большой файл, где где-то посередине есть функция, которая, как я знаю, была изменена несколько раз.git annotate или жеblame покажет самый последний коммит для каждой строки, но если я прав, он покажетonly самый последний, а не список других коммитов, которые затрагивали эту строку раньше.

Так есть ли команда в Git, где я мог бы сказать что-то вродеshow me commits that affected lines 250..260 in file XYZ?

Ответы на вопрос(5)

Как предлагается в одном из комментариев в Git - как посмотреть историю изменений метода / функции?, делаю

git gui blame <file>

, а затем щелкните правой кнопкой мыши строку и выберите Blame Parent Commit делает то, что мне нужно.

щелкните правой кнопкой мыши -> Git -> Показать историю для выделения

Щелкните правой кнопкой мыши -> Git-> Annotate

git show $(git blame XYZ -L 250,260 | awk '{print $1}')

Каждая строка кода всегда документируется. с помощью@ mislav

это невозможно. Вам нужно будет написать сценарий вокруг мерзавца. Вы можете найтиbash пример такого скрипта на GitHub.

ВАШ ОТВЕТ НА ВОПРОС