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

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

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

git log -Smystring --source

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

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

решение1

Что-то вроде

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

где BEFORE и AFTER — это коммиты, которые содержат и не содержат (соответственно) рассматриваемую СТРОКУ. Это должно найти последний коммит между BEFORE и AFTER, в котором FILE содержит СТРОКУ.

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

git grep -n LINE COMMIT:FILE

чтобы найти СТРОКУ и ее номер в соответствующей версии ФАЙЛА.

Связанный контент