Filter git log untuk hanya menampilkan perubahan saya


93

Bagaimana cara memfilter git loguntuk hanya menampilkan perubahan saya (tidak termasuk perubahan yang dilakukan oleh pengembang lain)?

Jawaban:


110

Anda dapat memfilter log menurut penulisnya misalnya, sehingga Anda dapat memfilter berdasarkan nama Anda:

git log --author="YourName"

atau oleh pelaku:

 git log --committer="YourName"

2
Selain itu, hasilnya dapat dibuat agar terlihat lebih cantik dengan sejumlah kombinasi git log --author = 'Your Name' --oneline --pretty = format: '% h% x09% an% x09% ad% x09% s '--date = short atau git log --pretty = format: "% h% x09% an% x09% ad% x09% s" --author = "Your Name"
sawe

juga -imengaktifkan case-insensitive-regex untuk nilai--author
Trevor Boyd Smith

32

Anda harus menggunakan --authorbendera untuk git-logperintah .

Seperti:

git log --author="You Name"

Sebagian dari nama juga berfungsi:

git log --author=Name

Namun jika Anda ingin menggunakan skrip generik seperti di tip ini , Anda dapat melakukannya seperti ini:

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

Anda kemudian dapat membuat alias:

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

Anda kemudian dapat mengetik: git mylogdan hanya melihat komit Anda.


git log --author = "$ (git config user.name)" sepertinya tidak berfungsi di Windows. Ada saran?
Andreas Presthammer

@AndreasPresthammer Saya tidak yakin apakah Anda masih bertanya-tanya tentang masalah ini, tetapi jika masalah Anda adalah dengan menyiapkan alias, tetapi jika Anda menyiapkan alias ini di editor teks daripada melalui git bash, Anda mungkin mengalami masalah dengan tanda kutip ganda yang tidak dapat dihindari (setidaknya, saya mengalami masalah seperti itu). Di .gitconfig saya di Windows, saya telah menyiapkan alias ini, dan mereka berfungsi untuk saya. my-history = !git log --author=\"$(git config user.name)\"
Nelson O

@AndreasPresthammer Jika Anda menjalankannya cmd, itu tidak akan berfungsi karena substitusi perintah $()adalah sintaks Bash. Jadi, tidak ada substitusi yang terjadi dan Anda akhirnya meminta Git untuk seorang penulis yang secara harfiah disebutkan $(git config user.name)yang jelas tidak ada.
user31389
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.