Como analisar o hash de confirmação do resultado da culpa do gi
Algo que costumo fazer é ligar paragit blame
para uma única linha de código egit show
o hash de confirmação resultante e cole-o na área de transferência para mostrar emhttps: //diffy.org:
$ git blame some/file.py -L 324,324
660b7c56 some/file.py (John Doe 2017-02-14 15:39:30 -0500 324) print("Hello, world!")
$ git show 660b7c56 | pbcopy
Gostaria de automatizar um pouco esse processo e criar uma função bash que use como entrada o caminho do arquivo e o número da linha some/file.py
e324
, respectivamente, neste exemplo) e tem como efeito colateral que ogit show
resultado desse hash de consolidação é colado na minha área de transferênci
Qual seria a melhor maneira de fazer isso? Até agora eu tentei
$ git blame some/file.py -L 324,324 | cut -f 1 -d " " | git show
mas isso não parece mostrar as diferenças no commit em que estou interessado, mas apenas um resumo. Eu acho que realmente não estou usando canos corretamente porqueecho 660b7c56 | git show
não produz o mesmo resultado quegit show 660b7c56
.
(Parece também quegit rev-parse
é uma função relevante, mas ainda não consegui descobrir como aplicá-la