2010-03-09 49 views
0

如果我有一个开发区域,我从某个文件夹/目录中删除了文件,当我将它们导回到服务器上的存储库时,svn是否应该删除服务器上的已删除文件?如果您在开发箱上删除,SVN是否会从您的存储库中删除文件?

例如,我有目录“家”在家我有index.php。这一切都在我的开发机器上。目前它匹配我的svn仓库,其中也有index.php。我在我的开发机器上删除了index.php文件,并创建一个名为blog.php的新文件。

当我导入开发回储存库将svn擦除index.php并放在blog.php?

我问,因为我试过这与乌龟svn,它并没有删除我删除的文件。它甚至没有放入新文件,直到我直接导航到“home”文件夹并从那里导入,而不是从顶层导入。

此外,SVN应该只导入已更改的文件和文件夹或一切吗?谢谢。

回答

10

从本地沙箱中删除文件对服务器没有影响。每当你做另一个update,你找回这些文件。

如果要删除文件,请使用svn delete,然后使用commit。即使这样,这些文件也不会从服务器上真正删除,您仍然可以在必要时恢复它们。

随着TortoiseSVN在资源管理器中使用上下文菜单,Tortoise SVN > Delete

要将新文件添加到存储库,请使用svn add,然后使用commit

+1

+1用于指出如果您未提交删除这些文件,则已更新将在本地恢复文件。 – JasCav 2010-03-09 20:45:32

1

如果你通过Subversion客户端删除一个文件(不是简单地从文件系统中删除它),签入会将它们标记为在服务器上被删除(这可以让你在需要的时候还原它们,但是更新不会让他们回来)。

这同样代表重命名文件 - 您需要通过颠覆客户端来完成此操作,然后进行提交以便将更改反映到服务器上。

请参阅svn deletesvn move文件。

0

要删除SVN中的文件,您必须使用SVN删除命令,而不是提交。

如果使用文件系统删除,将在下次更新时检出文件。

2

简单delete只会在本地删除文件。使用svn delete index.php删除,并使用commit使更改反映在存储库中。

svn delete index.php 
svn commit 

svn add newfile.php 
svn commit 
0

或者你可以使用PHP来做到这一点,如果需要的话。请参阅this

相关问题