[svn] 如何刪除文件夾的Subversion控件?



13 Answers

在Linux上,這將起作用:

  find . -iname ".svn" -print0 | xargs -0 rm -r
Question

我有一個文件夾, c:\websites\test ,它包含從不再存在的存儲庫檢出的文件夾和文件。 如何讓Subversion停止跟踪該文件夾以及任何子文件夾和文件?

我知道我可以簡單地刪除.svn文件夾,但許多圖層中有很多子文件夾。




這個命令適用於我:

找 。 -iname“.svn”-print0 | xargs -0 rm -r




對於那些使用NetBeans和SVN的用戶,有一個選項“Subversion> Export”。




這些答案都不符合我的情況。 我在Subversion 1.8上,我有一個工作副本,它只在第一個文件夾root中有一個.svn文件夾。 但是,我想從工作副本中刪除一些分支。

無論我做了什麼,每當我運行“更新”時,它都會恢復這些文件並將它們全部帶回。 我不想從存儲庫中刪除它們,只是從我的電腦中刪除它們 - 但我需要保留工作副本的其餘部分(因此不能刪除.svn文件夾)。

解? svn update --set-depth exclude <dir>

這是排除特定目錄的客戶端“更新”。 它可以在svnbook.com的手冊中svnbook.com 。 簡而言之,它將其描述為:

從Subversion 1.6開始,您可以採取不同的方法。 首先,檢查完整的目錄。 然後在你不關心的一個子目錄上運行svn update --set-depth exclude。

對於TortoiseSVN,您還可以通過右鍵單擊不需要的文件夾來執行相同操作,單擊Update to revision... ,然後將“更新深度”設置為Exclude ,如下面的屏幕截圖所示:




在Windows 10上,我們需要轉到Windows Explorer ,然後轉到View並選中View hidden files複選框。

然後導航到在Windows資源管理器中鏈接了SVN的文件夾並刪除.svn文件夾/文件。




NetBeans IDE用戶可以這樣做:

  1. 在您的IDE中打開SVN項目
  2. 選擇項目

    右鍵點擊Subversion Export

  3. 在對話框中

    導出到文件夾/ var / tmp / projectname按導出等待將顯示完成會問你想打開它嗎在飛行中打開

  4. 你現在可以切換到Git :)




使用svn export命令:

cd c:\websites\test
svn export c:\websites\test_copy

版本控制下的所有文件都將被導出。 仔細檢查以確保你沒有遺漏任何東西。




當您使用Windows操作系統時,請轉至您的文件夾位置,並檢查隱藏文件是否已打開,然後您可以在其中看到SVN文件夾。 只要刪除該文件夾。




另一種(更簡單的)Linux解決方案:

rm -r `find /path/to/foo -name .svn`



在Windows 7上,可以打開項目文件夾,如果隱藏文件已啟用,則搜索“.svn”並刪除所有找到的.svn文件夾。




在Windows上,你可以添加一個快速鏈接到你的資源管理器右鍵菜單。 只需啟動此註冊表腳本:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

這會在您的右鍵菜單中添加一個名為“刪除SVN文件夾”的項目。 這將刪除此文件夾和所有子文件夾中的所有.svn文件夾。

來源(德文): http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/ : http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/




如果您正在運行Windows,那麼您可以在該文件夾上搜索.svn ,並將其列出。 按Ctrl + A將選擇所有這些,按下刪除將刪除所有'麻煩'的Subversion的東西。




在Linux上,命令是:

svn delete --keep-local file_name






Related



Tags

svn