我正和一位朋友一起开展一个项目,我想回到我们代码的旧版本并将其设置为当前版本。 我该怎么做?
我在vs08上使用“anksvn”。
我在我的电脑上有我想要的版本,但提交失败了; 我得到的消息是“提交失败,文件或目录已过期”。
我的PC上也有subversion客户端。
#1楼
如果这是您想要做的事情,使用合并撤消整个签到的标准方法很有效。 但有时,您只想恢复单个文件。 没有合法的方法可以做到这一点,但有一个黑客:
- 使用svn log查找所需的版本。
使用svn的export子命令:
svn export http:// url-to-your-file @ 123 / tmp / filename
(其中123是文件的正确版本的修订号。)然后移动或复制该单个文件以覆盖旧文件。 签入修改后的文件,您就完成了。
#2楼
只需使用此行
svn update -r yourOldRevesion
您可以使用以下方法了解当前版本:
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楼
这就是我为我所做的工作。
我想撤消我在特定时间执行的多次提交中的更改,并希望转到上一个提交点。
- 转到团队 - >显示历史记录。
- 右键单击要忽略的修订版或范围。
- 选择“还原更改”选项。
这将运行反向合并,撤消工作副本中的更改。
只需查看代码并提交即可。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3160826