如何在Subversion中返回舊版本的代碼?

我正和一位朋友一塊兒開展一個項目,我想回到咱們代碼的舊版本並將其設置爲當前版本。 我該怎麼作? svn

我在vs08上使用「anksvn」。 url

我在個人電腦上有我想要的版本,但提交失敗了; 我獲得的消息是「提交失敗,文件或目錄已過時」。 spa

個人PC上也有subversion客戶端。 code


#1樓

若是這是您想要作的事情,使用合併撤消整個簽到的標準方法頗有效。 但有時,您只想恢復單個文件。 沒有合法的方法能夠作到這一點,但有一個黑客: get

  1. 使用svn log查找所需的版本。
  2. 使用svn的export子命令: it

    svn export http:// url-to-your-file @ 123 / tmp / filename io

(其中123是文件的正確版本的修訂號。)而後移動或複製該單個文件以覆蓋舊文件。 簽入修改後的文件,您就完成了。 date


#2樓

只需使用此行 file

svn update -r yourOldRevesion bug

您可使用如下方法瞭解當前版本:

svn信息


#3樓

我認爲這是最合適的:

例如,若是提交的代碼包含從rev 5612到5616的修訂版,則向後合併,只需向後合併。 它最終適用於我。

例如:

svn merge -r 5616:5612 https://<your_svn_repository>/

它將包含一個返回到之前版本的合併代碼,而後您能夠提交它。


#4樓

多一點老派

svn diff -r 150:140 > ../r140.patch
patch -p0 < ../r140.patch

一般

svn diff
svn commit

#5樓

這就是我爲我所作的工做。

我想撤消我在特定時間執行的屢次提交中的更改,並但願轉到上一個提交點。

  1. 轉到團隊 - >顯示歷史記錄。
  2. 右鍵單擊要忽略的修訂版或範圍。
  3. 選擇「還原更改」選項。

這將運行反向合併,撤消工做副本中的更改。

只需查看代碼並提交便可。

相關文章
相關標籤/搜索