Filtruj dziennik git, aby wyświetlić tylko moje zmiany

92

Jak mogę filtrować, git logaby wyświetlać tylko moje zmiany (z wyłączeniem zmian zatwierdzonych przez innych programistów)?

Veera
źródło

Odpowiedzi:

109

Możesz na przykład filtrować dziennik według autora, aby filtrować według nazwiska:

git log --author="YourName"

lub przez zatwierdzającego:

 git log --committer="YourName"
aleroot
źródło
2
Ponadto wyniki mogą wyglądać ładniej przy dowolnej liczbie kombinacji git log --author = 'Twoje imię' --oneline --pretty = format: '% h% x09% an% x09% ad% x09% s '--date = short or git log --pretty = format: "% h% x09% an% x09% ad% x09% s" --author = "Your Name"
sawe
-iwłącza również wyrażenie regularne bez rozróżniania wielkości liter dla wartości--author
Trevor Boyd Smith
31

Powinieneś użyć --authorflagi do git-logpolecenia .

Tak jak to:

git log --author="You Name"

Część nazwy też działa:

git log --author=Name

Jeśli jednak chcesz użyć ogólnego skryptu, takiego jak w tej wskazówce , możesz to zrobić w następujący sposób:

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

Możesz wtedy stworzyć alias:

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

Możesz wtedy po prostu wpisać: git mylogi zobaczyć tylko swoje zatwierdzenia.

Haralan Dobrev
źródło
git log --author = "$ (git config user.name)" nie działa w systemie Windows. Jakieś sugestie?
Andreas Presthammer
@AndreasPresthammer Nie jestem pewien, czy nadal zastanawiasz się nad tym problemem, ale jeśli problem dotyczy konfiguracji aliasu, ale jeśli konfigurujesz ten alias w edytorze tekstu, a nie za pomocą git bash, możesz mieć problem z cudzysłowami bez znaku zmiany znaczenia (przynajmniej miałem taki problem). W moim .gitconfig w systemie Windows mam skonfigurowane te aliasy i działają one dla mnie. my-history = !git log --author=\"$(git config user.name)\"
Nelson O