我刚从服务器恢复到511到510;然而,即使服务器显然使用510,511仍然在某处,而Tortoise SVN正在考虑511作为头版本,因此认为没有什么可以提交。我该怎么办?
答案 0 :(得分:7)
我对你的问题的解读是你想要根除版本511并回滚到510.但是,正如其他人所暗示的那样,Subversion永远不会忘记 - 没有办法抹掉修订版。但是你可以很容易地达到同样的效果,我认为一张简单的图片可以很清楚地说明它。
以下是一个示例修订图,您可以从修订版105开始。这里的目标是不仅丢弃105而且丢弃104(显示你可以将这种技术应用于倒数第二个以上),使103成为新头:
你现在通过将其复制为106来有效地回滚到103.(或者从不同的角度来看,你可以说103被转世为106: - 。)
答案 1 :(得分:0)
svn help revert
)放弃您的本地更改,并使用repo生成“原始WC”和不执行任何操作 重新思考并重新制定你的任务和麻烦。你想要“撤消上次提交的修订版”吗?
答案 2 :(得分:0)
如果恢复了SVN存储库,或者换句话说又设置了几个版本 - 所有已更新到当前非现有版本的工作副本应该与新的工作副本合并(因为标准没有提供提交日志记录)默认情况下,客户可能会将此作为扩展名。)
所以,创建新的WC(在你的情况下修改这个将是510),并与其中一个GUI合并更改(或只是复制文件)从当前的WC合并到新的WC并将更改提交到新的WC(所有正如您在提交修订版511时所做的那样,然后切换到使用新WC并删除旧WC。
答案 3 :(得分:0)
更新到特定版本很少是您想要做的。您要做的是在日志对话框中选择一组修订,并还原这些修订(在您的案例修订版511中)。请使用干净的工作副本以避免混淆。 Tortoise SVN现在将更改反向合并到您的工作副本中。到目前为止,服务器上的数据仍未受到影响。现在,您必须提交这些更改到服务器上。它将显示为新修订版(在本例中为512)。好的做法是不要更改任何文件并选择适当的日志消息,例如“从rev 511恢复的更改”。
Subversion(并且我不知道版本控制系统)不允许删除修订版,因此这是可行的方法。
答案 4 :(得分:0)
你想做什么?
还原正在撤消本地更改(在工作副本中): http://svnbook.red-bean.com/en/1.1/re25.html
如果要撤消已提交到存储库的更改,则必须执行反向合并。在您的特定情况下,您必须: svn merge -c-511
您可以阅读更多的“撤消更改”部分 http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html