>_ IzzyLab

Практическое задание

Найди коммит, добавивший строку

сложно

В /root/repo файл config.ini правили многими коммитами. В какой-то момент кто-то добавил в него строку debug=true — теперь надо понять, в каком именно коммите она впервые появилась. Запиши полный хеш этого коммита в файл /root/answer.txt.

Что потренируешь:
  • git blame
  • git log -S
  • история строки
  • git rev-parse
  • поиск коммита

Разбор темы

Чтобы узнать, какой коммит в последний раз тронул конкретную строку файла, служит git blame: он подписывает каждую строку сокращённым хешем её коммита, а ключ -L сужает вывод до нужного диапазона или шаблона. Полный хеш из сокращённого достаётся через git rev-parse. Альтернативный путь — «pickaxe»-поиск git log -S '<строка>', который находит коммиты, где искомый текст появлялся или исчезал; самый старый из них и есть момент первого появления.

Что проверяется

  1. хеш записан
  2. коммит первого появления строки

Как это выглядит