Bạn có thể làm như sau:
git show HEAD:foo.txt
Nói chung, cú pháp này là rất hữu ích cho thấy một tập tin từ một đặc biệt cam kết mà không cần chạm cây làm việc của bạn. Ví dụ, nếu bạn muốn xem những gì README.txt
giống như trong grand-mẹ của cam kết f414f31
bạn có thể làm:
git show f414f31^^:README.txt
Cập nhật: như VonC ý kiến dưới đây, điều quan trọng cần lưu ý ở đây là con đường ở đây phải đường dẫn đầy đủ từ gốc của cây đang hoạt động, ngay cả khi bạn hiện đang ở trong một thư mục con.
Tuy nhiên, khi dàn dựng thay đổi, người ta thường có xu hướng thường xuyên quan tâm đến sự khác biệt, đó là những gì Abizern interpreted your question as asking about. Một cách suy nghĩ đơn giản về các lệnh đó là:
git diff
có nghĩa là "những thay đổi nào tôi chưa thực hiện?"
git diff --cached
có nghĩa là "những thay đổi nào tôi đã thực hiện?"
Nguồn
2011-09-18 14:05:41
+1, nhưng như đã đề cập trong http://stackoverflow.com/questions/2108405/branch-descriptions-in-git/2108832 # 2108832 và được minh họa tại đây http://stackoverflow.com/questions/2364147/how-to-get-just-one-file-from-another-branch/2364223#2364223, bạn cần phải sử dụng đường dẫn đầy đủ tạo thành gốc thư mục của repo khi sử dụng 'git show'. – VonC
Cảm ơn, VonC - Tôi đã cập nhật câu trả lời của mình để bao gồm lời nhắc hữu ích đó. –