Filtre git log para mostrar apenas minhas mudanças

92

Como posso filtrar o git logpara mostrar apenas minhas alterações (excluindo as alterações cometidas por outros desenvolvedores)?

Veera
fonte

Respostas:

109

Você pode filtrar o registro pelo autor, por exemplo, para filtrar por seu nome:

git log --author="YourName"

ou por committer:

 git log --committer="YourName"
aleroot
fonte
2
Além disso, os resultados podem ficar mais bonitos com qualquer número de combinações git log --author = 'Seu nome' --oneline --pretty = format: '% h% x09% an% x09% ad% x09% s '--date = curta ou git log --pretty = formato: "% h% x09% um% ad% x09% x09% s" --author = "seu nome"
Sawe
também -iativa a regex que não diferencia maiúsculas de minúsculas para o valor de--author
Trevor Boyd Smith
30

Você deve usar o --authorsinalizador para o git-logcomando .

Igual a:

git log --author="You Name"

Parte do nome também está funcionando:

git log --author=Name

No entanto, se quiser usar em um script genérico como nesta dica , você pode fazer assim:

git log --author="$(git config user.name)"

Você poderia então fazer um alias:

git config --global alias.mylog '!git log --author="$(git config user.name)"'

Você poderia então digitar: git myloge ver apenas seus commits.

Haralan Dobrev
fonte
git log --author = "$ (git config user.name)" não parece funcionar no Windows. Alguma sugestão?
Andreas Presthammer
@AndreasPresthammer Não tenho certeza se você ainda está se perguntando sobre o problema, mas se o seu problema é com a configuração de um alias, mas se você estiver configurando este alias em um editor de texto em vez de através do git bash, pode estar tendo um problema com aspas duplas sem escape (pelo menos, eu estava tendo esse problema). No meu .gitconfig no Windows, tenho esses aliases configurados e eles estão funcionando para mim. my-history = !git log --author=\"$(git config user.name)\"
Nelson O