Se você precisar obter uma lista de arquivos alterados entre dois commits no git, pode fazer isso usando git diff
.
git diff --name-only A..B
A
é o início de seu intervalo e B
é o fim de seu intervalo. Observe os dois pontos entre os dois pontos finais! Eles são importantes. A
e B
pode ser qualquer tipo de referência: um commit SHA (ou seja, a12e34o13), um branch (ou seja, HEAD) ou mesmo uma tag (ou seja, v2.0.0).
Eu freqüentemente uso isso com tags. É uma ótima maneira de produzir uma lista de arquivos entre duas versões. Por exemplo:
$ git diff --name-only v2.0.0..v3.0.0
css/styles.css
css/normalize.css
js/script.js
img/background.jpg
img/logo.jpg
index.html
Não é legal?
Bônus: tubulação com cpio
cpio
é um excelente utilitário que permite executar essencialmente uma cópia que mantém uma estrutura de arquivo. Eu uso cpio
o tempo todo em conjunto com git diff
a saída de para produzir uma pasta que contém um patch. É assim que eu faço:
git diff --name-only v2.0.0..v3.0.0 | cpio -pdum v3.0.0-patch
Agora terei uma pasta contendo a lista de arquivos produzidos git diff
!
Se você gostou disso, por favor, considere me seguir no Twitter .