2012-09-21 29 views
11

Một số cam kết trước đây tôi đã có một số javascript làm việc một cách. Trong quá trình của một số cam kết bây giờ tôi có nó làm việc một cách khác. Tôi muốn nhìn vào tập tin như nó đã được một số cam kết trước bởi vì tôi có thể muốn sử dụng các khía cạnh của nó trong javascript mới. Tuy nhiên tôi không muốn hoàn nguyên tệp hiện tại của mình về chính xác nó là gì. Tôi chỉ muốn mở tập tin cũ, có một cái nhìn xung quanh nó và có thể sao chép và dán một số mã từ nó vào tập tin mới.GIT: Cách kiểm tra tệp từ lần commit trước đó mà không ghi đè lên tệp hiện tại?

Làm cách nào để truy xuất bản sao của tệp từ lần commit trước đó mà không ghi đè lên phiên bản mới nhất?

Trả lời

11

Chỉ cần chuyển hướng đầu ra của git show vào một tệp.

git show *SHA-of-old-commit*:*filename* > newfilename 

ví dụ:

git show 7c4eacc:main.cpp > main.cpp.old 
+0

tuyệt vời! Cảm ơn nhiều. – MrMisterMan

+0

khi tôi làm điều này tôi nhận được một lỗi như: 'fatal: Path 'main.cpp' tồn tại trên đĩa, nhưng không phải trong '7c4eacc''. Bất kỳ ý tưởng tại sao? –

+0

@JPLew Bạn phải sử dụng giá trị SHA của cam kết cụ thể. Ở đây 7c4eacc chỉ là một ví dụ. – thameera

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