Я должен искать историю определенного файла в репозитории мерзавца для нахождения строки, которой не стало. Сообщение о фиксации не будет иметь никакого соответствующего текста для поиска на. Какую команду я использую?
Более подробная информация: это - история моего списка ожидающих выполнения задач из нашего незвездного программного обеспечения отслеживания задачи. Я сохранял его в течение двух лет, потому что существует только недостаточно информации, хранившей для меня в программном обеспечении. Мои сообщения о фиксации обычно имеют только идентификаторы задачи, к сожалению, и что я должен сделать, находка закрытая задача предметом, не числом. Да, действительное решение является лучшим программным обеспечением отслеживания задачи, но это полностью вне моих рук.
Это работа для кирки!
Из справочной страницы git-log:
-S
Ищите различия, которые вводят или удаляют экземпляр
. Обратите внимание, что это отличается от строки, просто появляющейся в выводе diff; см. запись о кирке в gitdiffcore (7) для получения более подробной информации.
Конечно, вы можете использовать дополнительные параметры, чтобы сузить круг вопросов, например:
git log -Sfoobar --since=2008.1.1 --until=2009.1.1 -- path_containing_change
Разве это не очень полезно?
Как насчет git log --stat | grep 'filename'
, чтобы сузить его?