2012-05-23 28 views
7

Tôi đã hai git log bí danh thiết lập: một để hiển thị --name-status:Kết hợp git log --stat với --name-status?

... 
| A path/to/yourfile.c 
| M path/to/myfile.c 
| M path/to/my/otherfile.c 
... 

và một để hiển thị --stat:

... 
| path/to/yourfile.c   | 2 ++ 
| path/to/myfile.c   | 2 +- 
| path/to/my/otherfile.c  | 27 +++++----- 
... 

Có thể kết hợp hai?

... 
| A path/to/yourfile.c   | 2 ++ 
| M path/to/myfile.c   | 2 +- 
| M path/to/my/otherfile.c  | 27 +++++----- 
... 

Tôi yêu tổng quan --stat nhưng không cho tôi biết nếu tệp đã được thêm hoặc xóa; chỉ là chúng đã được sửa đổi theo một cách nào đó.

(Khi hai lá cờ dòng lệnh được kết hợp, --stat được bỏ qua.)

Trả lời

7

Tôi không biết một cách để kết hợp --stat--name-status, nhưng bạn có thể sử dụng git log --stat --summary để có được một danh sách bổ sung/xóa/đổi tên/sao chép các tập tin ngoài các diffstat.

0

Tôi có ý tưởng tương tự cho git statusgit diff --stat. Ai đó đã giúp tôi tìm ra:

git status | sed -e "$(git diff --stat | sed -e 's#/#\\/#g' | awk '/\|/ {print "s/" $1 "/" $0 "/;"}')" 

Tôi đã cố gắng thay thế bằng lệnh git log nhưng quá dài (do bị phân trang). Nếu bạn rút ngắn nhật ký của mình với -n5 (chỉ hiển thị 5 lần commit cuối cùng), đây là một khởi đầu tốt

git log --name-only -n5| sed -e "$(git log --stat -n5 | sed -e 's#/#\\/#g' | awk '/\|/ {print "s/" $1 "/" $0 "/;"}')" 
Các vấn đề liên quan