如何在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. 选择“还原更改”选项。

这将运行反向合并,撤消工做副本中的更改。

只需查看代码并提交便可。

相关文章
相关标签/搜索