Lọc nhật ký git để chỉ hiển thị các thay đổi của tôi


92

Làm cách nào để lọc git logđể chỉ hiển thị các thay đổi của tôi (ngoại trừ các thay đổi do các nhà phát triển khác cam kết)?

Câu trả lời:


109

Ví dụ, bạn có thể lọc nhật ký theo tác giả, vì vậy bạn có thể lọc theo tên của mình:

git log --author="YourName"

hoặc bởi người cam kết:

 git log --committer="YourName"

2
Ngoài ra, kết quả có thể trông đẹp hơn với bất kỳ số kết hợp nào git log --author = 'Your Name' --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

cũng -icho phép case-insensitive-regex cho giá trị của--author
Trevor Boyd Smith

30

Bạn nên sử dụng --authorcờ cho git-loglệnh .

Như vậy:

git log --author="You Name"

Một phần của tên cũng đang hoạt động:

git log --author=Name

Tuy nhiên, nếu bạn muốn sử dụng trong một tập lệnh chung như trong mẹo này , bạn có thể làm như sau:

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

Sau đó, bạn có thể tạo một bí danh:

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

Sau đó, bạn có thể chỉ cần nhập: git mylogvà chỉ xem các cam kết của bạn.


git log --author = "$ (git config user.name)" dường như không hoạt động trên Windows. Bất kỳ đề xuất?
Andreas Presthammer

@AndreasPresthammer Tôi không chắc liệu bạn có còn thắc mắc về vấn đề này hay không, nhưng nếu vấn đề của bạn là về việc thiết lập bí danh, nhưng nếu bạn đang thiết lập bí danh này trong trình soạn thảo văn bản thay vì thông qua git bash, bạn có thể gặp vấn đề với dấu ngoặc kép không thoát (ít nhất, tôi đã gặp sự cố như vậy). Trong .gitconfig của tôi trên Windows, tôi đã thiết lập những bí danh này và chúng đang làm việc cho tôi. my-history = !git log --author=\"$(git config user.name)\"
Nelson O
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.