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