2010-03-09 63 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

相關問題