2010-03-25 32 views
18

Giả sử bạn chỉ muốn loại bỏ những thay đổi bạn đã thực hiện đối với một tệp và quay lại bất kỳ thứ gì trong kho lưu trữ. Tôi đã từng làm điều này trong svn:Làm thế nào để kéo một tập tin cụ thể với GIT?

rm a-file.txt 
svn update a-file.txt 

Tương đương với Git là gì? Tôi biết cách lấy/lấy evrything từ kho lưu trữ, nhưng làm thế nào về một tệp duy nhất?

Trả lời

32

Để hoàn tác của bạn thay đổi (không cam kết):

git checkout a-file.txt 

Nếu bạn đã cam kết thay đổi và muốn đánh bại được họ trở lại một trước một số cam kết:

git checkout [some-older-commit-ref] a-file.txt 

Btw, với Subversion bạn nên có được thực hiện:

svn revert a-file.txt 
+1

bạn cũng có thể thực hiện "git reset --hard [commit/branch]". Để tìm ra các cam kết "git log --oneline", --oneline để nó không viết cho bạn tất cả các thông tin không cần thiết. –

+0

+1 và để làm rõ về "cam kết trước đó nhất định": Nó đề cập đến 'SHA1 ID' có thể dễ dàng được tìm thấy thông qua' gitk'. Nếu tôi chỉ cần "thanh toán" tệp đó đến một vị trí tạm thời (tức là không hoàn nguyên), thì tôi sẽ sử dụng tiểu mục 'show':' git show 82e54378856215ef96c5db1ff1160a741b5dcd70: MyProj/proguard/mapping.txt> myproj_mapping.txt' – ef2011

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