14

我修改了工作目录中的文件并进行了 svn 更新。更新执行没有冲突。

我希望能够将工作目录内容恢复到 svn 更新之前的状态。

原因是因为我维护了一个与共享 svn 存储库并行的本地 git 存储库。在进行 svn 更新之前,我忘记了 git commit 我的本地更改。现在我的工作目录包含本地更改与 svn 更新产生的更改混合在一起。如果我提交,所有更改都将显示为一个原子更改。我希望他们分开。如果我可以恢复更新并保留我在 svn 更新之前拥有的工作目录的内容,我可以这样做。

4

5 回答 5

16

我一直在问这个问题,它实际上并不包括对“如何撤消 svn 更新?”的简单回答。问题。

因此,为了他人的利益,在您只想回滚更新的可解决案例中:

首先检查日志:

svn log | less

957这将为您提供您希望返回的修订号(例如)。然后:

svn up -r 957
于 2014-06-14T05:51:35.690 回答
5

这是不可能的。忘记更新前的状态。

您可以通过制作颠覆差异来分离更改,git apply将其应用于索引,提交(您的更改),然后提交所有内容(来自拉取的更改)。

那是紧急解决方案。我建议您切换到git-svn,它将为您处理此类事情。

于 2013-10-08T13:16:43.597 回答
2

执行“更新到版本”,因此您将本地文件更改为稳定版本,然后重新提交。这样,您将丢失所有本地更改。

于 2013-10-08T12:57:34.943 回答
0

这是为linux用户准备的。

假设修订如下。

标题 - 20 对标题的先前修订 - 18、17、15、14、10、9,8。

转到您的 src 目录。使用 svn merge -r 17:18 $url

$url 为您的 svn 基础。

于 2013-10-08T13:10:54.453 回答
-1

如果在更新过程中发生任何冲突,您的回收站中将提供您的文件和修订文件的副本

于 2016-11-02T18:37:41.500 回答