2011-06-03 205 views
19

我在開發WordPress網站時使用SVN。現在我想將它上傳到服務器,並在.svn文件夾中有大量SVN文件。這些安全措施是否可以移除?我如何移除它們?刪除.svn文件夾

+0

因爲這個問題並不適用於WordPress的本身,而是以開發和部署,我收的題外話,並遷移它堆棧溢出。 – EAMann 2011-06-03 15:32:00

+0

[刪除所有目錄中的.svn文件]可能的重複(http://stackoverflow.com/questions/1301203/removing-svn-files-from-all-directories) – zzzzBov 2012-11-17 03:04:46

+0

可能的重複[如何刪除Subversion控件一個文件夾?](http:// stackoverflow。com/questions/154853 /如何刪除 - 顛覆 - 控制文件夾) – finnw 2012-11-17 10:09:10

回答

33

您可能還會發現svn export命令很有用。該命令導出沒有.svn文件夾的工作樹的副本。

如果您使用Subversion建議的標籤方式進行開發,您可以隨時導出標籤,然後對生產版本進行更好的控制,這非常方便。

+0

mod +1:使用'svn export'併爲您的wordpress站點在另一個目錄中創建一個乾淨的副本。如果您刪除.svn文件夾,則無法再更新或使用您的工作區。因此,無論如何,強制執行新的'svn結帳'。 – 2011-06-03 17:11:24

+0

此外,您只能導出最後更新的文件,只跨越您需要的提交,非常有用。另一件我喜歡做的事情,在CuteFTP中,我設置了一個掩碼,以便CuteFTP不會上傳.svn文件夾,這在我快速拖放上傳時繞過導出很有用。 – farinspace 2011-06-18 19:00:07

+0

請注意,svn導出不會遵循可能存在於回購中的任何符號鏈接,但會將符號鏈接自身複製到目標(這對於相對符號鏈接不起作用)。 – 2012-06-08 10:10:38

4

如果你要刪除這些目錄,你的svn客戶端可能會遇到麻煩。因此,您必須對您的存儲庫進行新的檢出。

而不是刪除這些目錄,您可以排除這些上傳與您的FTP程序內的過濾器。我使用Trasmit 4,它支持這種功能。

+0

感謝您的答案,FTP排除似乎方便,將檢查是否有FileZilla的東西。 – 2011-06-03 12:42:34

+0

應該可以。簽出以下[FileZilla Wiki](http://wiki.filezilla-project.org/Filename_Filters) – rofflox 2011-06-03 12:55:38

1

您的SVN結帳目錄應始終爲保留.svn目錄;這就是它與SVN溝通的方式。

但是任何拷貝您的簽出文件 - 例如,用於包裝/上傳 - 可以安全地刪除.svn目錄。他們不需要SVN結帳數據。要從這些副本中刪除.svn目錄,只需刪除它們即可。 (而看到@費爾南多關於SVN出口的回答。)

43
find -type d -name .svn|xargs rm -rf 
+2

謝謝你回答問題的有趣部分。 – 2011-12-30 07:43:05

+3

在mac osx上,您必須稍微更改此命令。試試這個...找到./ -name「.svn」| xargs rm -Rf – 2013-03-19 16:47:13

+1

在新發布的svn 1.8中,頂層只有一個.svn目錄。 – thekbb 2013-07-01 22:19:14

5

如果你想刪除名爲的.svn 然後創建批處理文件與此內容的所有子文件夾:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i" 
) 

將它保存在一個文件del_All_Dot_SVN_Folders.cmd。運行。你做完了。

由於http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/

記住,而在鏈接的代碼只* svn的上述代碼的.svn所以其更好 有.svn文件不小心有不良影響。

2

也許在你的情況下導出文件夾是一個更好的解決方案。導出,排除.svn文件夾。如果沒有,在Mac/Linux的去到終端,然後鍵入以下:

cd /your/directory 
find . -iname ".svn" -print0 | xargs -0 rm -r