2012-03-09 17 views
8

Tôi đang sử dụng git để theo dõi các thay đổi trong tệp cấu hình của ứng dụng của bên thứ ba. Tại thời điểm đầu tiên tôi đã cam kết ban đầu và sau đó là cài đặt phù hợp của ứng dụng dần dần. Bây giờ tôi có cài đặt tốt cuối cùng và cam kết chúng vào git. Tôi muốn xem những gì tôi đã thay đổi.Làm thế nào để thấy git diff ngay từ đầu đến HEAD?

Làm cách nào để thực hiện việc này?

tôi đã làm

git log --graph 

hoặc tương tự, nhưng xem tất cả cam kết được đánh dấu bằng số thập lục phân dài. Tôi có thể sử dụng chúng cho git diff không?

Trả lời

6

Bạn có thể dùng tham số -p với git log để có được tất cả các diffs cho tất cả các cam kết:

git log --graph -p 

Nếu bạn muốn xem diff hoàn chỉnh từ đầu tiên cam kết vào đầu bạn có thể làm một cái gì đó như thế này:

git diff `git rev-list HEAD | tail -n 1` HEAD 
5

Làm thế nào để thấy git diff từ rất bắt đầu đến HEAD?

Lúc đầu, không có gì, do đó, sự khác biệt giữa không có gì và HEAD thực chất là tất cả mọi thứ trong HEAD. Nếu tuy nhiên bạn xác định bắt đầu là "sau lần commit đầu tiên", thì chỉ cần sử dụng git diff với id của commit đầu tiên. (git diff 1234567..HEAD)

2

Bạn có thể sử dụng các lệnh sau

Thay đổi giữa đầu và chỉ mục.

git diff --staged 

Thay đổi giữa tệp đầu và tệp làm việc.

git diff HEAD 

thay đổi giữa hai cam kết

git diff $commit $ commit 

Cũng có một cái nhìn như sau và sử dụng theo yêu cầu:

git log tag..branch 
git log HEAD~10.. 
git log -10 
git log -10 [email protected]{yesterday} 
2

tôi sử dụng lệnh này đơn giản dưới đây để có được danh sách của tất cả các các tệp được theo dõi:

git ls-tree --name-status -r HEAD 
Các vấn đề liên quan