2009-07-21 24 views
183

Một cách ngu ngốc tôi biết là:Làm thế nào để thể hiện cam kết đã làm?

git diff commit-number1 commit-number2 

bất kỳ cách nào tốt hơn?

Ý tôi là tôi muốn biết chính xác commit1, tôi không muốn thêm commit2 trước đó làm tham số.

+10

Trong khi "git show " là giải pháp đúng, bạn có thể sử dụng "git diff ^!" để có được sự khác biệt giữa cam kết và cha mẹ (đầu tiên) của nó. Xem man git-rev-parse (1) để biết chi tiết. –

Trả lời

5

Đây là một cách tôi biết. Với git, luôn có vẻ có nhiều cách để thực hiện.

git log -p commit1 commit2 
51

Liệu

$ git log -p 

làm những gì bạn cần?

Xem chapter on Git Log trong Sách cộng đồng Git để biết thêm ví dụ. (Hoặc nhìn vào the documentation.)

Cập nhật: Như những người khác (JakubBombe) đã chỉ ra: mặc dù các tác phẩm trên, git show thực sự là lệnh được dùng để thực hiện chính xác những gì đã yêu cầu.

26

TL; DR

git show <commit>


Hiện

Để show gì một cam kết đã làm với số liệu thống kê:

git show <commit> --stat 

Log

Để hiển thị cam kết log với sự khác biệt giới thiệu cho từng cam kết trong một phạm vi:

git log -p <commit1> <commit2> 

<commit> là gì?

Mỗi cam kết có một id duy nhất mà chúng tôi tham chiếu tại đây là <commit>. Id duy nhất là hàm băm SHA-1 - tổng kiểm tra nội dung bạn đang lưu trữ cùng với tiêu đề. #TMI

Nếu bạn không biết bạn <commit>:

  1. git log để view the commit history

  2. Tìm các cam kết mà bạn quan tâm.

+4

Cảm ơn - cho 'git show --stat' –

8

tôi phát hiện ra rằng "git chương --stat" là tốt nhất trong số tất cả ở đây, cung cấp cho bạn một bản tóm tắt ngắn gọn về các cam kết, những tập tin đã bạn thêm và sửa đổi mà không đem lại cho bạn toàn bộ bunch of stuff, đặc biệt là nếu bạn thay đổi nhiều tệp.

Các vấn đề liên quan