当前位置:  开发笔记 > 开发工具 > 正文

撤消Subversion中的特定修订

如何解决《撤消Subversion中的特定修订》经验,为你挑选了2个好方法。

假设我在存储库文件夹中有一组提交...

123 (250 new files, 137 changed files, 14 deleted files)
122 (150 changed files)
121 (renamed folder)
120 (90 changed files)
119 (115 changed files, 14 deleted files, 12 added files)
118 (113 changed files)
117 (10 changed files)

我想获得一份工作副本,其中包括修订版117以后的所有更改,但不包括修订版118和120的更改.

编辑:为了使问题更清楚,我想撤消在118和120中所做的更改,同时保留所有其他更改.该文件夹包含数百个子文件夹中的数千个文件.

实现这一目标的最佳方法是什么?

得益于Bruno和Bert,答案就是命令(在这种情况下,在执行完全合并后删除120)

svn merge -c -120 .

请注意,必须使用前导减号指定修订号.'-120'不是'120'



1> Bruno De Fra..:

撤消修订118和120:

svn up -r HEAD       # get latest revision
svn merge -c -120 .  # undo revision 120
svn merge -c -118 .  # undo revision 118
svn commit           # after solving problems (if any)

另请参阅撤消更改中的说明.

注意-c -120参数中的减号.该-c(或--change)交换机支持,因为颠覆1.4,旧版本可以使用-r 120:119.



2> neves..:

如果您使用TortoiseSVN(Subversion的Windows客户端),则有一种更简单的方法.您只需单击以查看更新的工作副本中的日志,选择要撤消的修订,右键单击,然后选择"从这些修订中还原更改".

这是一种安全的操作,因为更改仅应用于您的工作区.您仍然必须承诺修改您的存储库.

这是TortoiseSVN的最佳功能之一.我一直都是一个命令行,但是Tortoise改变了主意.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有