Может ли Git показать историю для выбранных строк?
У меня есть большой файл, где где-то посередине есть функция, которую я знаю, была изменена несколько раз. git annotate
или blame
покажет самую последнюю фиксацию для каждой строки, но если я прав, она покажет только самую последнюю, а не список других коммитов, которые затронули эту строку раньше.
Итак, есть ли команда в Git, где я мог бы сказать что-то вроде показать, что я фиксировал, что затронул строки 250..260 в файле XYZ?
Ответы
Ответ 1
Как было предложено в одном из комментариев в Git - как мне просмотреть историю изменений метода/функции?, делая
git gui blame <file>
а затем щелкнуть правой кнопкой мыши по строке и выбрать "Захват родительской фиксации" делает то, что мне нужно.
Ответ 2
phpStorm может это сделать.
Выберите строки → щелкните правой кнопкой мыши → Git → Показать историю для выбора
Ответ 3
git show $(git blame XYZ -L 250,260 | awk '{print $1}')
Каждая строка кода всегда документируется. через @mislav
Ответ 4
Выберите строку → Щелкните правой кнопкой мыши → Git → Аннотировать
Ответ 5
Я думаю, что это невозможно. Вам нужно написать script вокруг git вины. Вы можете найти bash пример такого script в GitHub.