简体   繁体   中英

How to search for a phrase into all git commits ?

I need to search a word in all files of my repository and in all version of all files. This because I don't know when, but there is no more a piece of code in one of my file and I want to know when was deleted and recover it.

I don't know if this was what you meant, but if you want to find all commits where commit message contains given word, use

$ git log --grep=word

If you want to find all commits where "word" was added or removed in the file contents (to be more exact: where number of occurences of "word" changed), ie search the commit contents, use so called 'pickaxe' search with

$ git log -Sword

Good Luck :)

What you're looking to do here is grep ( documentation on git-grep ) through the history of all revisions in the repository:

$ git grep <your_search_term> $(git rev-list --all)

Where <your_search_term> is a regex pattern.

The output will include all of the commits including your found text/expression.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM