git log -S ничего не показывает

Я использовал git log -S много раз с большим успехом, но на этот раз он ничего не показывает.
Я ищу коммит, который представил pagesNum,

Вот что я делаю:

$ git status
On branch master
nothing to commit, working directory clean
$ git grep pagesNum
resources/locales/en.json:    "search-page": "{pagesNum} Select...",
$ git log -SpagesNum
$ git log -S"pagesNum"
$ git log -S"pagesNum" --all
$

Как это возможно, что git log ничего не показывает??

1 ответ

Решение

По-видимому, -S не учитывает текст, введенный в коммит слияния.

Я только что проверил это, фиксируя и пустой коммит, а затем объединяя его, но добавляя изменения. Это вызывает git grep найти текст, но git log -S ничего не показывает

Как средство, попробуйте -m вариант с git log который учитывает разницу для всех родителей, хотя вы, вероятно, также захотите добавить --first-parent возможность рассматривать только различия с основным родителем. Тем не мение, --first-parent покажет только коммит слияния, который внес изменение, а не обычный коммит, если применимо. К сожалению, нет возможности изменить -m опция, показывающая только первого родителя без этой опции, применима и к выбору коммитов.

Другие вопросы по тегам