Como pesquisar em todos os commits do Git e Mercurial no repositório para uma determinada string?

Eu tenho um repositório Git com poucas ramificações e confirmações pendentes. Gostaria de procurar todos os commits no repositório por uma sequência específica.

Eu sei como obter um log de todos os commit no histórico, mas eles não incluem ramificações ou blobs pendentes, apenas o histórico do HEAD. Quero obter todos eles, para encontrar um commit específico que tenha sido extraviad

Também gostaria de saber como fazer isso no Mercurial, pois estou considerando a opçã

questionAnswers(10)

yourAnswerToTheQuestion