2014-04-04 92 views
36

鏈接:TortoiseSVN的 - 「恢復這些版本的變更」與「恢復到本次修訂」

http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html

描述回滾一個SVN目錄的兩種方式後,不法提交。是什麼

Revert changes from this revision 
Revert to this revision 

兩個選項之間的差異作爲測試,我添加了一個文件,回滾使用「復原此版本的變化」,也做了相同的過程「恢復到此版本」,並有與SVN日誌的狀態沒有什麼不同。

我錯過了什麼嗎?

回答

67

比方說,你有這N個逐次承諾:1,2,3和4

如果您選擇提交2,然後選擇「恢復到此版本」,你的工作副本將包含提交帶來的變化1和2.提交3和4將被「取消」。

如果您選擇提交2並選擇「還原此修訂版本中的更改」,您的工作副本將包含提交1,3和4所帶來的更改。提交2將被「取消」,或者相反,在提交4的頂部:如果添加了一行,它將被刪除。如果一條線被刪除,它將被讀取。

+0

我還是不明白這個選項是如何工作的,如果我有一個空文件,我寫入1到這個文件中,提交然後寫入2並提交,然後寫入3然後提交。現在我打開顯示日誌對話框,並選擇第二次提交併恢復此修訂版中的更改,解決衝突後,文件現在爲123,不應該刪除?它應該是13,但不是123. – Nibnat

+0

@Nibnat你可能在解決衝突時重新添加了2。 –

0

客戶端操作不會顯示在存儲庫日誌中。你可能想在檢查:

  • TortoiseSVN的→ SVN檢查修改

...爲了看到這兩個動作之間的差異。

查看本地更改後,您需要像往常一樣承諾

8

對於最新犯,有沒有區別

當您想要在更改列表的中間使用修訂版時,會出現差異。

Revert to this revision將恢復全部來自頭部承諾高達本次修訂。
Revert changes from this revision將僅回覆該特定修訂的提交

1

如果您希望您的整個本地源代碼恢復到某些先前修訂版的方式,請選擇「還原到此修訂版」。相反,如果你想保持你的本地源代碼是最新的,但是撤銷之前做過多次修改的一些修改,那麼你不希望你的整個本地源代碼恢復,你只想撤銷你所做的一個修改一會兒回來。 「恢復此版本的更改」可讓您執行此操作。