git -> mostra a lista de arquivos alterados em commits recentes em um diretório específico

Respostas:

164

Este é mais semelhante ao comando svn, pois mostra o status do arquivo: Adicionado (A), Copiado (C), Excluído (D), Modificado (M), Renomeado (R) e outros.

git log --name-status -10 path/to/dir

Vale a pena olhar a página de documentação completa do git log. Lá você aprenderá que -10se refere aos últimos 10 commits e -plhe dará o patch completo, entre uma variedade de outras coisas.

Htanata
fonte
12
Para completar: o conjunto comumente usado de opções semelhantes é -p(patch completo), --stat(número de linhas alteradas), --numstat(como, --statmas legível por máquina) --name-status, e --name-only(apenas os nomes dos arquivos).
Cascabel
3
Para qualquer um que chegar a esta questão sem já saber, o -10 se refere ao número de commits que você deseja mostrar. Se você precisa de uma lista abrangente de commits, tente aumentar o número incomum, como -1000 ou mais, conforme necessário.
Julian Soro
Também é possível visualizar o histórico desde um commit ou rótulo específico? É centenas de commits atrás, então tentando contar isso ...
MrFox
2
@MrFox git log <from revision>.., por exemplo git log abc123... Leia mais sobre o formato de intervalo aqui: kernel.org/pub/software/scm/git/docs/…
htanata
36

Para mostrar todos os arquivos alterados nos últimos 10 commits, sem nenhuma informação de commit, faça:

git diff --name-only HEAD~10..HEAD yourdir
dbn
fonte
3
Solução perfeita para reabrir arquivos em seu editor.
cdosborn
1
Esta solução lista apenas caminhos de arquivo, sem comentários, o que é muito apreciado em vez da resposta aceita. Se tudo o que você deseja é uma lista dos arquivos que foram alterados nos commits especificados, esta solução faz exatamente isso .
Big Rich
6

Tente fazer

git log -p -10 yourdir/

Deve funcionar.

blue112
fonte
1
O OP pediu uma lista de arquivos alterados, não o patch completo.
Cascabel
1
Se quiser que a lista de arquivos seja alterada, você pode fazer --stat no lugar de -p
blue112
1

Para mostrar todos os commitdo seu branch (recentes e antigos), você precisa contar o número de commits no branch

git rev-list --count branch_name

Depois de obter toda a contagem de commits, você pode executar

git log --name-status -countNumber /path
Sayan Biswas
fonte
E pode-se simplificar a visualização adicionando a --pretty=onelineopção ao git logcomando acima. Anexar um | sort | uniqcomando ajudará a ver a marcação de status A / C / D / M / R de acordo com a resposta de
htanata