我有一位同事在继续在分支机构工作的同时将工作交给了trunk文件夹。最初我们认为这些想法会被使用,但后来才意识到我们宁愿将它留待以后使用。他的最后一个版本是283.我现在已经创建了一个分支并将283代码放在那里。我这样做是通过从版本270(最后一个好的版本)创建一个分支,然后替换那里的文件并提交它们。我相信这部分现在都很好。
但是如何将trunk文件夹还原为270版?我使用TortoiseSVN,但是当恢复到版本270时,它只更新我的本地副本 - 271-283版本保留在存储库中。如何从存储库中删除它们?
答案 0 :(得分:1)
如果你保留旧版本(包括错误的东西),你可以恢复工作副本中的更改并将其提交回来。
svn co project-url
cd project
svn merge -r 283:270 .
svn commit -m "reverting revisions between r270 and r283"
稍微解释一下:中央命令是合并。在我只创建命令以创建项目的新工作副本并切换到它之前。
因此,合并说,从当前工作副本的283:270的更改将应用于当前工作副本。因为283大于270意味着实际上已经删除了更改(向后应用)。在合并命令之后,您的工作副本应包含版本270(以及可能在r283之后的任何更改)。如果在此期间进行了更改,则可能会在合并上发生冲突,并以通常的方式处理它们。
如果合并成功并且您测试了工作副本,则可以像最后一个命令一样提交回来。