2011-09-18 22 views

Trả lời

12

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?"
+0

+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

+0

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 đó. –

6

tôi nghĩ những gì bạn đang hỏi là về diffs (trong đó thể hiện sự khác biệt giữa các phiên bản của file)

Tôi đã viết về họ here

Nhưng một sơ đồ tóm tắt là:

enter image description here

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