Posso obter o git para me informar todos os arquivos que um usuário modificou?



git branch (2)

Este não é o único caminho, mas funciona:

git log --pretty="%H" --author="authorname" |
    while read commit_hash
    do
        git show --oneline --name-only $commit_hash | tail -n+2
    done | sort | uniq

Ou como uma linha:

git log --pretty="%H" --author="authorname" | while read commit_hash; do git show --oneline --name-only $commit_hash | tail -n+2; done | sort | uniq

https://ffff65535.com

Eu gostaria que o git me desse uma lista de todos os arquivos modificados por um usuário, em todos os commits.

Meu caso de uso particular é que eu estive envolvido no i18n de um projeto ruby ​​on rails, e queremos saber quais arquivos já foram feitos e quais arquivos ainda precisam ser feitos. Os usuários em questão só fizeram o trabalho no i18n, não no resto da base de código. Então as informações devem estar todas no git, mas não tenho certeza de como fazer isso.


Isto lhe dará uma lista simples de arquivos, nada mais:

git log --no-merges --author="Pattern" --name-only --pretty=format:"" | sort -u

Comute - autor para - comissor conforme necessário.





git