Git find line # da mudança

1

Eu quero encontrar quando a última vez que uma propriedade css específica foi removida na fonte na minha ramificação atual (master). Eu escrevi:

git log -Smystring --source

Isso me deu um hash. Eu atirei o gitk e colei o hash e isso me deu uma lista enorme de arquivos, então eu suspeito que eram apenas finais de linha. No entanto eu procurei a string no gitk e não consigo encontrar a string. Talvez isso signifique que ele foi excluído, mas o gitk não deve mostrar - ...mystring... de qualquer maneira?

Como encontro a linha / arquivo em que minha string está? Eu vejo os últimos hashes usando o comando acima, mas não tenho ideia de como localizá-lo.

    
por BruteCode 07.02.2013 / 16:10

1 resposta

0

Algo como

git bisect start
git bisect bad AFTER
git bisect good BEFORE
git bisect run grep -v LINE FILE

onde BEFORE e AFTER são commits que fazem e que não (respectivamente) contêm a LINHA em questão. Este deve encontrar o último commit entre BEFORE e AFTER no qual FILE contém LINE.

Uma vez que você sabe qual commit deve ser pesquisado, você pode usar

git grep -n LINE COMMIT:FILE

para localizar o LINE e seu número de linha na versão apropriada do FILE.

    
por 10.02.2013 / 22:31