Git найти строку № изменения

189
BruteCode

Я хочу узнать, когда в последний раз конкретное свойство css было удалено из источника в моей текущей ветке (master). Я написал:

git log -Smystring --source 

Это дало мне хэш. Я запустил gitk и вставил хеш, и он дал мне огромный список файлов, так что я подозреваю, что это были только окончания строк. Однако я искал строку в gitk и не могу найти строку. Возможно это означает, что это было удалено, но не должно показывать gitk в - ...mystring...любом случае?

Как мне найти строку / файл, в которой находится моя строка? Я вижу последние несколько хэшей, используя команду выше, но я не знаю, как точно определить это.

1

1 ответ на вопрос

0
chepner

Что-то вроде

git bisect start git bisect bad AFTER git bisect good BEFORE git bisect run grep -v LINE FILE 

где BEFORE и AFTER - коммиты, которые содержат (и не содержат) (соответственно) ЛИНЕЙКУ, о которой идет речь. Это должно найти последний коммит между BEFORE и AFTER, в котором FILE содержит LINE.

Когда вы знаете, какой коммит искать, вы можете использовать

git grep -n LINE COMMIT:FILE 

найти строку и ее номер строки в соответствующей версии файла.

Похожие вопросы