У меня есть удаленная строка в файле в моем репозитории Git. Я знал часть отсутствующего текста и файл, в котором он находился, поэтому использовал git log -S'missingtext' /path/to/file
.
Однако единственное, что вернулось, — это коммит, в котором я добавил строку, содержащую отсутствующий текст. Текста не было в HEAD, а коммит, добавивший его, присутствовал в моей ветке, поэтому я знал, что один из коммитов в истории моей ветки, должно быть, удалил его, но он не отображался.
После некоторого ручного поиска оказалось, что строка была удалена случайно при разрешении конфликта для слияния. Поэтому мне интересно:
- Это причина, по которой кирка не смогла найти фиксацию, которая удалила строку?
- Как я мог найти, где был удален недостающий текст, не копаясь в истории вручную?
Любое понимание № 1 было бы здорово (я предполагал, что git log -S
даст мне мой ответ), но мой настоящий вопрос — № 2, так как я хотел бы иметь возможность избежать этого в будущем.
git log -p
и/missingtext
в то время как вless
это быстрый и грязный способ сделать это. - person nneonneo   schedule 26.09.2012