Como posso ver um registro git de apenas um usuário do commit?

Ao usar o git log , como posso filtrar por usuário para ver somente commits desse usuário?

Isso funciona tanto para o git log quanto para o gitk – as duas maneiras mais comuns de visualizar o histórico. Você não precisa usar o nome inteiro.

 git log --author="Jon" 

corresponderá a um commit feito por “Jonathan Smith”

 git log --author=Jon 

e

 git log --author=Smith 

também funcionaria. As aspas são opcionais se você não precisar de espaços.

Adicione --all se você pretende pesquisar todos os ramos e não apenas os antepassados ​​do commit atual em seu repo.

Você também pode combinar facilmente em vários autores, pois regex é o mecanismo subjacente para esse filtro. Então, para listar os commits de Jonathan ou Adam, você pode fazer isso:

 git log --author="\(Adam\)\|\(Jon\)" 

Para excluir commits de um autor em particular ou conjunto de autores usando expressões regulares, conforme observado nesta pergunta , você pode usar um lookahead negativo em combinação com a opção --perl-regexp :

 git log --author='^(?!Adam|Jon).*$' --perl-regexp 

Como alternativa, você pode excluir commits criados por Adam usando bash e piping:

 git log --format='%H %an' | grep -v Adam | cut -d ' ' -f1 | xargs -n1 git log -1 

Se você deseja excluir commits confirmados (mas não necessariamente criados) por Adam, substitua %an por %cn . Mais detalhes sobre isso estão no meu post aqui: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/

 git log --author="that user" 

No github há também um caminho secreto

Você pode filtrar commits por autor na visualização de commits adicionando param ?author=github_handle . Por exemplo, o link https://github.com/dynjs/dynjs/commits/master?author=jingweno mostra uma lista de confirmações para o projeto Dynjs

 git help log 

lhe dá a manpage do git log. Procure por “author” pressionando / e digitando “author”, seguido de Enter. Digite “n” algumas vezes para chegar à seção relevante, que revela:

 git log --author="username" 

como já sugerido.

Note que isso lhe dará o autor dos commits, mas no Git, o autor pode ser alguém diferente do committer (por exemplo, no kernel do Linux, se você enviar um patch como um usuário comum, ele pode ser confirmado por outro usuário administrativo .) Veja Diferença entre autor e committer no Git? para mais detalhes)

Na maioria das vezes, o que se refere ao usuário é tanto o committer quanto o autor.

Para extrair mais detalhes – (Aqui %an refere-se ao autor)

Usa isto :-

 git log --author="username" --pretty=format:"%h - %an, %ar : %s" 
 cat | git log --author="authorName" > author_commits_details.txt 

Isso dá seus commits em formato de texto.

Você pode até abreviar um pouco simplesmente usando parte do nome de usuário:

 git log --author=mr #if you're looking for mrfoobar's commits 

Se você quiser filtrar seus próprios commits:

 git log --author="<$(git config user.email)>" 

tente esta ferramenta https://github.com/kamranahmedse/git-standup

Uso

 ```bash $ git standup [-a ] [-w ] [-m ] [-f] [-L] [-d ] [-D ] [-g] [-h] ``` 

Abaixo está a descrição de cada uma das bandeiras

 - `-a` - Specify author to restrict search to (name or email) - `-w` - Specify weekday range to limit search to (eg `git standup -w SUN-THU`) - `-m` - Specify the depth of recursive directory search - `-L` - Toggle inclusion of symbolic links in recursive directory search - `-d` - Specify the number of days back to include - `-D` - Specify the date format for "git log" (default: relative) - `-h` - Display the help screen - `-g` - Show if commit is GPG signed or not - `-f` - Fetch the latest commits beforehand 

Já que a outra questão (possivelmente errada) foi trancada, vou colocar isso aqui:

mostre aos autores com suas contagens de commit:

 git shortlog -nse 

encontre todos os commits para USERNAME específico:

 git log --author=USERNAME --oneline | awk '{print $1}' | xargs git show 

Se estiver usando o GitHub:

  • ir para o ramo
  • clique em commits

mostrará a lista no formato abaixo

 branch_x: < comment> author_name committed 2 days ago 
  • ver commit individual do autor; clique em author_name e lá você pode ver todos os commits daquele autor naquele branch

Mostrar n número de logs para x usuário em colors, adicionando este pequeno trecho em seu arquivo .bashrc.

 gitlog() { if [ "$1" ] && [ "$2" ]; then git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" --author="$2" elif [ "$1" ]; then git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" else git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order fi } alias l=gitlog 

Para mostrar os últimos 10 commits de Frank:

l 10 frank

Para mostrar os últimos 20 commits de qualquer um:

l 20

Você pode usar = ou “espaço”. Por exemplo, após dois comandos, retornar o mesmo

 git log --author="Developer1" git log --author "Developer1"