所以我有一个本地生成文件。SVN:恢复提交,同时保留本地更改
它不应该在SVN中,但它是。 (谢谢,以前的维护者!)但是对本地副本进行了更改,仅适用于构建它的盒子。
我搞砸了,并提交这个本地构建文件。现在SVN回购副本具有这些本地更改;这不好。
我怎样才能回到原状,当地的变化是在本地副本,而不是在SVN回购协议,和随后svn update
不会覆盖本地更改?
所以我有一个本地生成文件。SVN:恢复提交,同时保留本地更改
它不应该在SVN中,但它是。 (谢谢,以前的维护者!)但是对本地副本进行了更改,仅适用于构建它的盒子。
我搞砸了,并提交这个本地构建文件。现在SVN回购副本具有这些本地更改;这不好。
我怎样才能回到原状,当地的变化是在本地副本,而不是在SVN回购协议,和随后svn update
不会覆盖本地更改?
您可以使用更改列表或锁定文件以避免再犯同样的错误。
对于我这样一个原理:
> svn st
M 0027
> svn info 0027 | grep URL
URL: svn://localhost/xxx/trunk/0027
> svn rm -m "remove accidently checked in file" svn://localhost/xxx/trunk/0027
Revision ...
> svn update
C 0027
At revision 42.
Summary of conflicts:
Tree conflicts: 1
> svn revert 0027
Reverted '0027'
> svn status
? 0027
所以文件0027
还活着,有它的旧内容,但不是在回购了。
如果你的文件不应该进行版本控制,你可以取消它的版本:
svn rm --keep-local filename
这将让任何本地文件,但SVN将停止跟踪它。
感谢您的回答。但是,严重的是,SVN中没有更简单的方法?我*不能*是第一个做这件事的人(白痴)。 – tpdi
我真的不知道它可能会更容易。您需要保留本地更改,因此需要进行备份。你需要恢复到以前的版本,所以你必须告诉哪个版本。 SVN无法为你猜出它。通常,如果某个文件不应该提交,它不应该在SVN中。 –
>通常,如果某个文件不应该被提交,它不应该在SVN中。真正的数据。 ;( – tpdi