2011-10-11 182 views
7

如果我查看顛覆日誌中的TortoiseSVN與烏龜SVN恢復

enter image description here

當我選擇一個版本,然後右鍵單擊,我看到下面的選項(其中包括):

  • 將項目更新至版本
  • 恢復至此修訂版
  • 恢復此版本的更改

有人可以解釋這3個之間有什麼區別嗎?

我實際上想要做的是將我的工作副本暫時恢復回選定版本的存儲庫。我應該選擇哪些選項?

+0

什麼是「臨時恢復」?爲哪些業務任務? –

回答

12

您應該選擇第二個選項。

下面是當你在此對話框中點擊幫助按鈕,你會得到什麼:

更新項目至版本

更新你的工作拷貝到所選 修訂。如果您希望讓您的工作副本反映過去的時間 ,或者如果已經進一步提交到存儲庫 並且您想一次更新您的工作副本,這種做法很有用。最好是 來更新工作副本中的整個目錄,而不僅僅是一個 文件,否則你的工作副本可能會不一致。

如果您想永久撤銷先前的更改,請改爲使用還原爲此 修訂版。

復原到此版本

恢復到以前的版本。如果您有 進行了多項更改,然後決定確實想要返回 以確定修訂版N中的內容,則這是您需要的命令。您的工作副本中的 更改已撤消,因此此操作不會影響存儲庫直到您提交更改。請注意,此 將撤消在所選修訂版之後所做的所有更改,用早期版本替換 文件/文件夾。

如果您的工作副本處於未修改狀態,則在執行此 操作後,您的工作副本將顯示爲已修改。如果您已經有 本地更改,此命令會將撤消更改合併到您的 工作副本中。

內部發生的事情是,Subversion執行反向 合併所選修訂後所做的所有更改,並撤消這些先前提交的效果。

如果執行此操作後,你決定要撤消 撤銷並且讓工作副本返回到先前沒有修改的狀態, 你應該在Windows資源管理器中使用TortoiseSVN→還原而來, 將丟棄本地修改由此反向合併 行動。

如果您只想查看早期版本 上的文件或文件夾,請使用「更新到修訂」或「保存修訂」作爲... 。

從這一修改

撤消更改從其中在 所述選中的版本還原變化。這些更改在您的工作副本中取消,因此 此操作完全不會影響存儲庫!請注意,此 將僅撤消在該修訂中所做的更改;它不會取代 您的工作副本與早期版本中的整個文件。這個 對於從其他不相關的 變更以來取消早期更改非常有用。

如果您的工作副本處於未修改狀態,則在執行此 操作後,您的工作副本將顯示爲已修改。如果您已經有 本地更改,此命令會將撤消更改合併到您的 工作副本中。

內部發生的事情是,Subversion執行該版本的反向 合併,從前一次提交中撤消其效果。

如上所述,您可以在還原到此修訂版時撤消撤消操作。

+0

恢復臨時可能有不同的含義!不要假設,而不是用戶! –

+0

唐問三人之間有什麼**差異**。你的文章只描述了3種選擇,但很難分辨出實際的差異(特別是那些不熟悉英文的人)。我從你的帖子中瞭解到的是,到今天結束的時候,無論你選擇了哪個選項,你都會得到相同的工作副本。這裏:http://stackoverflow.com/questions/1214939/update-item-to-revision-vs-revert-to-revision彼得帕克解釋了實際的**差異**之間的_update修訂_和_revert這個revision_ – Nolonar