我修改了工作目录中的文件并进行了svn更新。更新执行时没有冲突。
我希望能够将工作目录内容恢复到svn更新之前的状态。
原因是因为我与共享的svn存储库并行维护一个本地git存储库。在执行svn更新之前,我忘了git提交我的本地更改。现在,我的工作目录包含与svn更新产生的更改相混淆的本地更改。如果我提交,所有更改将显示为一个原子更改。我希望他们能分开。如果我可以恢复更新并保留我在svn更新之前的工作目录的内容,我可以这样做。
我修改了工作目录中的文件并进行了svn更新。更新执行时没有冲突。
我希望能够将工作目录内容恢复到svn更新之前的状态。
原因是因为我与共享的svn存储库并行维护一个本地git存储库。在执行svn更新之前,我忘了git提交我的本地更改。现在,我的工作目录包含与svn更新产生的更改相混淆的本地更改。如果我提交,所有更改将显示为一个原子更改。我希望他们能分开。如果我可以恢复更新并保留我在svn更新之前的工作目录的内容,我可以这样做。
这是不可能的。忘记更新前的状态。
您可以通过使用subversion diff来分隔更改 git apply
将它应用于索引,提交(您的更改)而不是提交所有内容(来自pull的更改)。
这是紧急解决方案。我建议你切换到 git-svn
,将来会为你处理这类事情。
我一直在打这个问题,它实际上并没有包含“如何撤消svn更新?”的简单答案。题。
因此,为了其他人的利益,在可解决的情况下,您只想回滚更新:
首先检查日志:
svn log | less
这将为您提供修订号(例如 957
)你想回去。然后:
svn up -r 957
执行“更新到版本”,因此您将本地文件更改为稳定版本,然后重新提交。这样你就会失去所有的局部变化。
这是针对linux用户的。
假设修改如下。
头 - 20 以前的修订版--18,17,15,14,10,9,8。
转到你的src目录。 使用 svn merge -r 17:18 $ url
$ url为你的svn基地。
如果在更新期间发生任何冲突,则会在您的回收站中提供您的文件和修订文件的副本