Às vezes, você gostaria de ver o histórico completo de uma linha de código, entretanto git-blame mostra apenas o último commit que tocou uma linha. Usando o repositório Rails como exemplo, digamos que você queira ver os commits (com o diff incluído) que tocam o #create
método definido em ActiveRecord::Persistence
. Você pode usar o seguinte comando:
git log -p -G'def create' activerecord/lib/active_record/persistence.rb
A chave é a -G
bandeira que tem uma expressão regular. O -p
sinalizador irá gerar o patch para cada commit.