如果在开发框中删除,SVN是否会从存储库中删除文件?

时间:2010-03-09 20:33:39

标签: svn tortoisesvn export

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

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

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

我问,因为我尝试使用togoise svn并且它没有删除我删除的文件。直到我直接导航到“home”文件夹并从那里导入而不是顶层时,它甚至没有放入新文件。

另外,SVN应该只导入更改的文件和文件夹还是一切?谢谢。

5 个答案:

答案 0 :(得分:10)

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

如果要删除文件,请使用svn delete后跟commit。即使这样,文件也没有真正从服务器中删除,你仍然可以在必要时恢复它们。

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

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

答案 1 :(得分:2)

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

svn delete index.php
svn commit

svn add newfile.php
svn commit

答案 2 :(得分:1)

如果您通过subversion客户端删除文件(不是简单地从文件系统中删除),则签入将在服务器上将其标记为已删除(这允许您在需要时还原它们,但更新将不要把它们带回去。)

同样代表重命名文件 - 您需要通过subversion客户端执行此操作,然后提交以便更改反映在服务器上。

请参阅svn deletesvn move文档。

答案 3 :(得分:0)

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

如果您使用文件系统删除,则会在下次更新时检出这些文件。

答案 4 :(得分:0)

或者,如果需要,您可以使用PHP。见this