2013-05-14 24 views
6

Tôi mới làm quen với Mercurial. Tôi đã làm hg status và tôi thấy các tệp đã thay đổi kể từ lần commit cuối cùng có M ở phía trước. Sau đó tôi đã thử hg update -C. Có cách nào tôi có thể lấy lại phiên bản của các tập tin với M trước khi tôi đã làm hg update -C? Hay tôi hơi say? :(từ hg update -C hủy bất kỳ thay đổi kể từ khi cam kết cuối cùngMercurial - hoàn nguyên các thay đổi không được cam kết sau khi "hg update -C"

Trả lời

-1

Vâng, chúng ta hãy nhìn:.

PS C:\dev> hg init foo 
PS C:\dev> cd .\foo 
PS C:\dev\foo> echo ":)" > file.txt 
PS C:\dev\foo> hg add 
adding file.txt 
PS C:\dev\foo> hg com -m ":D" 
PS C:\dev\foo> echo "DDDD" >> .\file.txt 
PS C:\dev\foo> hg sta 
M file.txt 
PS C:\dev\foo> hg up -C 
1 files updated, 0 files merged, 0 files removed, 0 files unresolved 
PS C:\dev\foo> hg sta 
PS C:\dev\foo> dir 


    Directory: C:\dev\foo 


Mode    LastWriteTime  Length Name 
----    -------------  ------ ---- 
d----   5/14/2013 4:06 PM   .hg 
-a---   5/14/2013 4:06 PM   10 file.txt 


PS C:\dev\foo> type .\file.txt 
:) 

Nó đã biến mất :(Xin lỗi vì những tin tức xấu

11

Thật không may, nó phải có trong! hg help update:

options: 

-C --clean  discard uncommitted changes (no backup) 

Các công việc thích hợp sẽ có được để commit thay đổi nổi bật của bạn (mà sẽ có lẽ cr ăn một cái đầu mới) và merge cam kết của bạn với các bản chỉnh sửa bạn muốn nhập.

Nếu bạn không thích phải thực hiện một số thay đổi nửa nướng, hãy kiểm tra phần mở rộng shelve được thiết kế chính xác cho điều này: Tạm thời bỏ qua tất cả hoặc một số thay đổi không được cam kết của bạn, cho phép bạn chạy hg hoạt động trước khi bạn đưa chúng trở lại. (shelve không được phân phối với mercurial, nhưng tôi nghĩ rằng tortoisehg có thể bao gồm nó).

0

Câu trả lời khá muộn cho Jason, nhưng có thể giúp những người khác.

Chúng tôi đã gặp sự cố tương tự và GIẢI PHÁP TÌM KIẾM here...

Tóm lại:

  1. loại hg heads - bạn sẽ thấy đầu của những thay đổi của bạn là stil đâu đó trong kho
  2. bản sao ID của người đứng đầu của bạn và gõ hg update <id_of_your_head>
Các vấn đề liên quan