我是Mercurial的新手。我做了hg status
,並且我看到自上次提交之後發生更改的文件在前面有M
。然後我嘗試hg update -C
。有沒有什麼辦法可以在我做hg update -C
之前找回M
的文件版本?還是我很擰? :(因爲hg update -C
丟棄自上次任何更改提交Mercurial - 在「hg update -C」後恢復未提交的更改
6
A
回答
-1
好吧,讓我們來看看:
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
:)
它不見了:(很抱歉的壞消息
11
不幸的是,就在那裏! hg help update
:
options:
-C --clean discard uncommitted changes (no backup)
正確的工作流程會一直到commit
你未完成的更改(這大概CR吃掉一個新的頭)和merge
你承諾你想要導入的版本。
如果您不喜歡必須提交一組一半的更改,請查看shelve
擴展,該擴展正是爲此設計的:它暫時放棄所有或部分未提交的更改,允許您運行在您將它們重新帶回之前,請執行以下操作:hg
。 (shelve
未與mercurial分銷,但我認爲tortoisehg
可能包含它)。
0
傑森很晚纔回答,但可能會幫助其他人。
我們遇到了同樣的問題,並找到了解決方案here..。
簡單:
- 型
hg heads
- 你會看到你的變化頭STIL某處倉庫 - 副本ID你的頭,然後鍵入
hg update <id_of_your_head>
相關問題
- 1. 錯誤合併後恢復未提交的更改
- 2. 將已提交的變更集轉換爲Mercurial中的未提交更改
- 3. 測試未提交的mercurial更改
- 4. Git恢復提交併添加更改,即使在提交更多提交後
- 5. 如何恢復最後的提交併保持mercurial中的更改?
- 6. 如何「恢復」未更改的文件與mercurial?
- 7. 使Mecurial丟棄未提交的更改
- 8. 如何恢復Mercurial中的多個提交?
- 9. Mercurial:更改某些未提交的提交的用戶名?
- 10. 如何恢復從git提交更改?
- 11. 基於恢復提交的新更改?
- 12. Git:恢復我修改後的更改合併提交
- 13. Mercurial/hg - abort:優秀的未提交合並
- 14. Mercurial - 提交然後提交新的更改創建多個頭
- 15. 如何「財產」不提交mercurial更改?
- 16. Mercurial - 更新一箇舊提交,恢復一些更改並返回到頭
- 17. Mercurial post update hook
- 18. 如何獲得提交後提交mercurial?
- 19. 恢復未添加/提交的文件
- 20. 記住未提交的更改
- 21. mercurial:在提交之後從提交之後恢復已刪除的存儲庫,然後再推送
- 22. 如何防止hg更新<branch>未提交Mercurial中的活動分支?
- 23. 龜HG(mercurial)推送更改的通知
- 24. 如何撤消hg update -C -r 3命令在mercurial
- 25. 恢復與未更改未更改的更新
- 26. 複製Mercurial庫與未提交的修改
- 27. 如何還原Mercurial hg pull?
- 28. 如何在恢復後重做提交?
- 29. 恢復從主分離的頭部更舊的提交更改
- 30. 如何獲得Mercurial中未提交更改的年齡?