2016-05-10 12 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には何も表示されません。救済策として

あなたはおそらくも本体のみ親に差分を検討する--first-parentオプションを追加したいと思うでしょうが、すべての親への差分を考慮git log-mオプションを試してみてください。ただし、--first-parentには、変更が導入されたマージコミットのみが表示され、適用可能であれば、通常のコミットは表示されません。残念ながら、-mオプションを変更して、そのオプションをコミットの選択にも適用せずに最初の親だけを表示する方法はありません。

+0

実際、 'git log -SpagesNum -m --first-parent'は' pagesNum'を導入したマージコミットを与えました。ありがとう! –

関連する問題