2010-10-09 129 views
3

確認!我只是錯誤地運行了「svn revert somefile」,粘貼了錯誤的文件名。現在我的修改過的文件已經不存在了!有沒有辦法「svn unrevert」?

我想要一個「svn unrevert」命令。 AFIK沒有這樣的事情。這個爛攤子的下一個最好的出路是什麼?

+0

我見過沒有點擊「對話框1」

  • 檢查。壞運氣夥伴。 – DaveShaw 2010-10-09 00:34:43

  • +0

    同意,我不相信這是可能的與SVN。謹慎使用「恢復」,更好地檢查一些不好的東西,必須回滾,而不是檢查一些好東西:) – David 2010-10-09 00:36:05

    +0

    剛剛發現這個問題是多餘的與更舊的http://stackoverflow.com/questions/1521332/is-有意無意地恢復 - svn-revert – DarenW 2010-12-22 16:46:11

    回答

    6

    沒有辦法取消還原。您可以恢復,因爲Subversion在.svn文件夾中保留原始文件的副本,並且在運行revert命令時,備份副本將複製到工作副本中的文件上。在執行恢復之前,Subversion不會備份修改後的文件,因此除非您在某個地方複製了它,否則可能會失敗。

    +2

    也就是說,如果您仍然在編輯器中打開文件,您可能可以恢復它。在某處添加一個空格並保存該文件,並將編輯器內存中的副本(包含您的修改)保存在磁盤上的副本上。 – bta 2010-10-09 00:52:55

    1

    反刪除實用程序。

    我喜歡File Scavenger。

    它被擊中和錯過,但你有機會得到你的文件。自刪除以來磁盤活動越少,您的機會就越大。

    +4

    不起作用:該文件未被刪除,但被替換。 – 2010-10-09 00:36:13

    +0

    我發現與FS相同的文件的舊版本仍然存在。 NTFS!= FAT。 – 2010-10-09 09:21:53

    0

    很抱歉地說,但那是不可能的。

    4

    如果您使用Eclipse或IDEA,它們會存儲本地歷史記錄,您可以使用它來恢復您的更改。我認爲沒有其他辦法。

    1

    它可能會保留文件,因爲它是以另一個名稱$ {FILENAME} .orig或$ {FILENAME}〜還是其他名稱還原之前的文件。如果沒有,對不起,你運氣不好。

    +0

    我使用kwrite,它保存了(文件名)〜但我關掉了這個功能,在所有文件名結尾都出現〜出現在任何地方。 :( – DarenW 2010-10-11 14:54:43

    3

    如果使用烏龜SVN:

    1. 右擊這是從TortoiseSVN菜單
    2. 選擇「設置」的SVN工作拷貝的一部分的任何目錄。
    3. 「復原的情況使用回收站」