今日のgitチャレンジです。私はそれに良い一時間を過ごしましたが、誰かがおそらく頭の上からそれを知っています。複数のファイルで文字列にマッチする行があります
リポジトリ内のすべての* _template.htmlファイルに対してgit blameを実行し、文字列 "foobar"を含む行だけを出力しますか?
私はその文字列の最初のオカレンスを探しています。そうすれば、それらの行に最後に変更された日付を取得する別の方法があれば、同様に動作します。
今日のgitチャレンジです。私はそれに良い一時間を過ごしましたが、誰かがおそらく頭の上からそれを知っています。複数のファイルで文字列にマッチする行があります
リポジトリ内のすべての* _template.htmlファイルに対してgit blameを実行し、文字列 "foobar"を含む行だけを出力しますか?
私はその文字列の最初のオカレンスを探しています。そうすれば、それらの行に最後に変更された日付を取得する別の方法があれば、同様に動作します。
ここで私はあなたがgit log -p -Sfoobar
を使用する必要があります
git ls-files -- '**/*_template.html' | xargs -I{} git blame {} | grep "foobar"
...思い付いたハックです。これにより、foobar
が導入されたか、リポジトリから完全に削除されたfoobar
のコミット差分が出力されます。すでにfoobar
のコミットは印刷されません。
これは、与えられたシンボルが追加または削除された理由を調べるのに非常に便利です。
また、いくつかのファイルやディレクトリにこれを制限することができ:git log -Sfoobar *_template.html
彼/彼女はレポにコミットする「foobarに」と呼ばれる人を持つことが起こらないレッツ希望;) –
良いキャッチ@JonasBerlin – NDavis