Resposta curta:

git log | grep Author | sort | uniq -c | sort -n -r | head -n 20
20 maiores commiters do projeto git

20 maiores commiters do projeto git

O que fazem esses comandos? Link to heading

git log Link to heading

Mostra o log da branch atual do git

Resultado do git log na branch master do projeto git

Resultado do git log na branch master do projeto git

| (pipe) Link to heading

Pega o output do comando e joga como entrada do próximo comando. Nesse caso pega a saída do git log e coloca como entrada do grep

grep Author Link to heading

Procura por “Author” no texto que foi dado como entrada. Nesse caso a entrada foi a saída do git log

git log | grep Author

git log | grep Author

sort Link to heading

Ordena as linhas

git log | grep Author | sort

git log | grep Author | sort

uniq -c Link to heading

  • uniq retorna somente as linhas não duplicadas.
  • -c retorna o número de ocorrências de cada linha.
    git log | grep Author | sort | uniq -c

    git log | grep Author | sort | uniq -c

sort -n -r Link to heading

  • -n considera a ordenação como numérica.
  • -r reverte a ordenação, de crescente para decrescente.
    git log | grep Author | sort | uniq -c | sort -n -r

    git log | grep Author | sort | uniq -c | sort -n -r

head -n 20 Link to heading

Retorna as primeiras linhas. O -n é o número de linhas que vai ser retornado, nesse caso serão as primeiras 20 linhas.