2013-02-26 3 views
1

я написалGit log search igoring changes?

git log -SMyTextStringHere --source --all 

Я ожидаю, что мерзавец искать текст MyTextStringHere в исходном коде всех ветвей. Я получаю ОДИН результат. Когда я представляю его на прошлой неделе. То, что я ожидал получить, было моим последним изменением, которое было string MyTextStringHere; до string MyTextStringHere="". Это изменение было сегодня, я вижу его в своем исходном коде, и я вижу его на github.

Почему git log search не показывает мне это изменение? Он работает на линейных базах, и эта линия затронута, поэтому я ожидаю увидеть ее.

ответ

3

Документы для git log -S состояния:

Посмотрите на различия, внедряющих или удалить экземпляр < строки>. Обратите внимание, что это отличается от строки, просто появляющейся на выходе diff; см. запись кирка в gitdiffcore (7) для более подробной информации.

ссылается, раздел состояний gitdiffcore людей страниц в части:

Когда diffcore-кирка в использовании, она проверяет, есть ли filepairs чьи «результат» сторона и чьи «происхождение» сторона имеют различное количество заданной строки.

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

Использование опции -G вместо -S должно дать вам результаты, которые вы ожидали.

+0

Ах спасибо :) – BruteCode