Tóm tắt các thay đổi (chèn và xóa) trong Git [đã đóng]


47

Tôi muốn xem làm thế nào cơ sở mã của tôi đã phát triển theo thời gian. GitHub có một +/-màn hình đẹp dọc theo danh sách các checkin mang lại ý nghĩa về điều này. Có thứ gì tương tự tôi có thể sử dụng với Google Code được lưu trữ repo hoặc ngoại tuyến không?


1
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì việc sử dụng các công cụ dành riêng cho phát triển phần mềm. Những câu hỏi này thuộc về Stack Overflow, nhưng câu hỏi này quá cũ để di chuyển.
Thomas Owens

Câu trả lời:


71

Có một vài tùy chọn nguyên bản trong Git để lấy dữ liệu về các thay đổi.

git log --stat sẽ hiển thị số lượng mỗi tệp đã được thay đổi.

git whatchanged cung cấp một số chi tiết vào các tập tin đã được sửa đổi.

git diff --stat <sha1> <sha2> đưa ra các tệp và số lượng thay đổi giữa hai lần xác nhận.

Có nhiều blog khác cung cấp các bản ghi định dạng khác nhau. Một tìm kiếm google có thể chỉ cho bạn những thứ này. Ngoài ra làm git log --helpsẽ cung cấp các tùy chọn khác nhau để định dạng lịch sử của repo của bạn. Git có khả năng cung cấp cho bạn khá nhiều dữ liệu thông qua các logtùy chọn dòng lệnh khác nhau (lọc theo tác giả, tệp, v.v.).


6
Đẹp! Cảm ơn. Bây giờ tôi cũng thấy --numstatcung cấp một định dạng thay thế ít đường hơn nhưng sạch hơn.
Potatoswatter

18
--shortstatsẽ chỉ in ra tổng số.
casey

1
Hãy nhớ rằng git diff --stat <sha1> <sha2>không bao gồm chèn và xóa <sha1>, vì vậy bạn sẽ phải đưa shacam kết ngay trước đó <sha1>để bao gồm<sha1>
Vaibhav Vishal

18

Nếu bạn biết các cam kết mà bạn muốn so sánh, bạn có thể thử sử dụng các git difflệnh với --stattham số. Nó cho đầu ra như thế này:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
Luôn luôn yêu thích một ví dụ hoạt động trong hầu hết các trường hợp (CHÍNH - 1) thay vì trừu tượng hóa. Cảm ơn Mike!
SimplGy
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.