簡體   English   中英

如何撤消svn更新?

[英]How to undo an svn update?

我修改了工作目錄中的文件並進行了svn更新。 更新執行時沒有沖突。

我希望能夠將工作目錄內容恢復到svn更新之前的狀態。

原因是因為我與共享的svn存儲庫並行維護一個本地git存儲庫。 在執行svn更新之前,我忘了git提交我的本地更改。 現在,我的工作目錄包含與svn更新產生的更改混合的本地更改。 如果我提交,所有更改將顯示為一個原子更改。 我希望他們能分開。 如果我可以恢復更新並保留我在svn更新之前的工作目錄的內容,我可以這樣做。

我一直在回答這個問題,它實際上並沒有包含“如何撤消svn更新?”的簡單答案。 題。

因此,為了其他人的利益,在可解決的情況下,您只想回滾更新:

首先檢查日志:

svn log | less

這將為您提供您希望返回的修訂號(例如957 )。 然后:

svn up -r 957

這是不可能的。 忘記更新前的狀態。

您可以通過使用subversion diff來分隔更改,使用git apply將其應用於索引,提交(您的更改)並提交所有內容(來自pull的更改)。

這是緊急解決方案。 我建議你切換到git-svn ,將來會為你處理這類事情。

執行“更新到版本”,因此您將本地文件更改為穩定版本,然后重新提交。 這樣你就會失去所有的局部變化。

這是針對linux用戶的。

假設修改如下。

頭 - 20先前的修訂 - 18,17,15,14,10,9,8。

轉到你的src目錄。 使用svn merge -r 17:18 $ url

$ url為你的svn基地。

如果在更新期間發生任何沖突,則會在您的回收站中提供您的文件和修訂文件的副本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM