
Я хочу узнать, когда в последний раз определенное свойство 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
чтобы найти СТРОКУ и ее номер в соответствующей версии ФАЙЛА.