我意外地对存储库进行了一些未完成的更改。我不想丢失我的本地更改,但我想将存储库中的文件还原到我提交更改之前的位置。
答案 0 :(得分:9)
不确定是否有功能可以执行此操作。但我会做的是
答案 1 :(得分:2)
唯一的选择是备份您的更改,然后在服务器上执行反向合并,然后将更改复制回工作副本。
答案 2 :(得分:0)
我建议您将提交的特定文件保存到外部文件夹。然后还原存储库中的文件并提交。从而导致你犯下之前的状态。然后获取您保存的文件并替换它们,以便您的副本具有本地更改。
答案 3 :(得分:0)
在SVN中使用“switch”命令。这很简单,值得了解。
答案 4 :(得分:0)
简短地编辑上游存储库的历史记录(在这种情况下为you can do,但不应如此),以下是实现此目的的最简单方法:
让我们假设意外的提交是if (auto it = m.find(10); it != m.end()) { return it->second.size(); }
(您可以使用$REV
或svnversion
进行查找)。然后执行以下操作:
svn log
最后一条命令的最后一行为您提供新的修订号:
svn merge -c -$REV . svn ci -m "Revert r$REV"
使用以下内容在本地恢复您的更改:
Committed revision $NEW_REV.
(通常 svn up # Necessary if your repository has mixed revisions (e.g. due to externals).
svn merge -c $NEW_REV .
应该只是$NEW_REV
+ 1。)
完成。