2010-10-26 33 views
8

Tôi đã nhầm lẫn và xóa một tệp. Tôi muốn quay lại cam kết trước đây của mình! Tôi đã cố gắng hoàn nguyên và không có may mắn ...Làm thế nào để quay trở lại cam kết và đẩy sửa đổi trong mercurial?

Mẹo nào?

Edit: Tôi đã làm chính xác này:

 
hg forget file 
hg commit -m "Blah" 
hg push 

Số sửa đổi push cuối cùng này là 17.

Bây giờ tập tin không được theo dõi nữa. Tôi muốn đưa nó trở lại bản sửa đổi 15 (không phải là bản rev trước đó, nhưng thêm một bước nữa) vì tôi không muốn tiếp tục làm việc với tệp đó trong rev 16.

Trả lời

10

Tìm thấy một giải pháp:

 
hg revert file -r15 //(reverts file to revision 15). 
+0

Điều đó nên làm :). Tôi vừa xem bản chỉnh sửa của bạn cho câu hỏi – pyfunc

+0

Bạn đã thử tệp cập nhật hg -r15 chưa? – pyfunc

+0

Có, có điều này: hủy bỏ: vui lòng chỉ định một sửa đổi –

0

Nếu bạn đã cam kết thì bạn có thể cập nhật lên phiên bản trước. Nếu tập tin được kiểm soát phiên bản, nó sẽ không biến mất. Đó là điều khiển phiên bản nào.

hg update -r "what is previous rev" 

Nếu bạn đã xóa tệp và không cam kết, thì chỉ cần cập nhật và khôi phục tệp.

hg update 

[sửa: dựa trên câu hỏi đã chỉnh sửa]

hg revert file -r 15 
hg update file -r 15 
+0

Sửa đổi đã được cam kết và được đẩy bằng "R" trong tệp, dẫn đến thiếu theo dõi. Nhưng tôi không muốn đẩy lùi tập tin thực sự của tôi nằm trong hardrive bởi vì có những sửa đổi tôi không muốn đẩy vào máy chủ. Vì vậy, tôi phải quay trở lại với một phiên bản trước đó. Tôi không biết liệu tôi có đủ rõ ràng không. Cảm ơn bạn đã giúp đỡ. –

+0

@Gabriel A. Zorrilla: cung cấp cho chúng tôi tài khoản chi tiết hơn về vấn đề này. nó chưa rõ lắm. Ngay cả khi tệp được đánh dấu 'R', các phiên bản trước đó sẽ có nó và bạn sẽ có thể hoàn nguyên về nó. – pyfunc

+0

Đã chỉnh sửa bài đăng gốc. Cho nó một cái nhìn. –

0

Hãy thử kéo phiên bản 15 và hg pull -r và sau đó bổ sung thêm file.

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