Liste os arquivos modificados em seu repositório

Então você está lá, trabalhando por cinco ou seis horas e então, por algum motivo, você precisa de uma lista dos arquivos que você modificou. Então você os registra:

git whatchanged --since="6 hours ago"

Mas imagine que você trabalhou em torno de mil arquivos. Então, como você lista apenas os nomes dos arquivos?

Primeiro, vamos compactar nossa saída:

git whatchanged --since="6 hours ago" --format=oneline

Agora, precisamos obter apenas as linhas que possuem nomes de arquivo, então usaremos grep para isso:

git whatchanged --since="6 hours ago" --format=oneline | grep "^:"

Agora vamos remover todo esse lixo e pegar apenas os nomes dos arquivos. Para isso, usaremos sed:

git whatchanged --since="6 hours ago" --format=oneline | grep "^:" | sed 's:.*[DAM][ \''t]*([^ \''t]*):1:g'

E aí está. O regex garante que apenas o nome do arquivo seja retornado (com alguns espaços no início da linha. Que nunca me incomodou, mas pode ser facilmente removido com outro sed) e você pode copiar isso para onde precisar.