2016-05-10 4 views
2

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

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

$ 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, чтобы показать только первого родителя, не применяя этот параметр к выбору коммитов.

+0

Фактически 'git log -SpagesNum -m -first-parent' дал мне слияние, которое ввело' pagesNum'. Благодаря! –