我希望svn update用来自服务器的文件覆盖我的本地文件,即使我的本地文件有修改,我想把它们扔掉并使用远程存储库上的版本。
我该怎么做?我试过svn update --force
,但它不起作用。
感谢您的回答,所以我正在使用这样的恢复:
svn revert . -R
这是我应该如何使用它吗?这样安全吗?我有一个同样速度的git存储库,我不希望svn为我损坏我的.git
!
答案 0 :(得分:35)
您应该使用SVN还原。这会将工作副本中的文件还原为其原始状态。有关更多信息和示例,请查看svn书籍: http://svnbook.red-bean.com/en/1.1/re25.html
答案 1 :(得分:14)
我只想补充一下diyism发布的内容。
我没有在行
中的.
旁边看到;
svn revert -R .; svn up
它使我困惑。我不知道为什么在使用还原并且不使用更新时需要为所有文件明确使用.
,但这似乎是这样的它是。
所以,如果它对任何人有帮助,我认为将答案视为两行更为明确
svn revert -R .
svn update
答案 2 :(得分:5)
我偶尔会在OSX上遇到这个问题(10.6,目前正在使用svn 1.6.16)。解决方法是执行此操作:
svn update `svn ls -R`
虽然可能很慢。
答案 3 :(得分:4)
顺便说一下,这实际上是SVN的一个特色。更新时永远不会覆盖您的任何修改(除非您使用revert
明确地将它们丢弃。
答案 4 :(得分:2)
改为使用“还原”。
答案 5 :(得分:2)
您必须还原您的修改,如有必要,请在此之后进行更新。
答案 6 :(得分:2)
使用此行:
svn revert -R .;svn up
答案 7 :(得分:1)
使用svn revert
答案 8 :(得分:0)
最坏的情况是,删除工作副本的内容(不包括.svn文件夹)并进行更新。