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
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
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ó).
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:
- 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 - bản sao ID của người đứng đầu của bạn và gõ
hg update <id_of_your_head>
- 1. Thay đổi của tôi có thay đổi sau "hg hoàn nguyên" không?
- 2. Sử dụng hg hoàn nguyên trong Mercurial
- 3. Mercurial/hg - hủy bỏ: hợp nhất chưa được cam kết
- 4. Hoàn nguyên cam kết hợp nhất git, sau đó hoàn nguyên hoàn nguyên
- 5. Mercurial (hg) chỉ cam kết một số tệp nhất định
- 6. Mercurial nói "hủy bỏ: thay đổi không bị giam vượt trội", tôi không muốn cam kết
- 7. Làm cách nào để "hủy hoàn nguyên" một cam kết Git được hoàn nguyên?
- 8. Làm thế nào để chỉnh sửa thông báo cam kết Mercurial sau khi phân nhánh?
- 9. hoàn nguyên và cập nhật các thay đổi không được tuân thủ
- 10. Mercurial undo three hg push
- 11. Mercurial: Làm cách nào để bạn hoàn tác các thay đổi?
- 12. Mercurial hg Vấn đề subrepository - "hủy bỏ: không sửa đổi '
- 13. Hoàn tác việc đẩy Mercurial
- 14. Bắt được "hg cam kết" để làm việc với Notepad ++
- 15. Mercurial undo cam kết cuối cùng
- 16. Làm cách nào để hoàn nguyên nhiều lần commit trong Mercurial?
- 17. svn/git/mercurial ?: tự động cam kết khi thay đổi và tự động thanh toán
- 18. Cách git hoàn nguyên cam kết sử dụng SHA
- 19. Mercurial: Chi nhánh các thay đổi cụ thể tiếp tục quay trở lại sau khi kết hợp giả
- 20. hg: Cam kết một số thay đổi đối với một chi nhánh khác
- 21. Mercurial: cuộn lại "hg commit --amend".
- 22. Mercurial: thực thi "hg pull -u" trước khi "hg commit"
- 23. Đổi tên cam kết thành chi nhánh trong Mercurial
- 24. mercurial - xem các thay đổi trên chi nhánh bỏ qua tất cả các cam kết hợp nhất
- 25. Làm cách nào để bạn hoàn nguyên tệp được dàn dựng với các thay đổi, giữ nguyên các thay đổi khi được tổ chức?
- 26. Trong svn, tôi có thể hoàn nguyên thay đổi và tạm dừng nó sau này không?
- 27. hg update lỗi
- 28. Có thể tích hợp các cam kết Mercurial với JIRA hoặc FishEye (thông qua TortoiseHg hoặc hg) không?
- 29. Làm thế nào để quay trở lại cam kết và đẩy sửa đổi trong mercurial?
- 30. thay đổi github không được dàn dựng cho cam kết