我有一个作为工作副本的文件夹。如何从这个文件夹中移除所有SVN功能?我有自己的原因这么做,一些奇怪的情况发生了,我的主文件夹里包含了所有我工作站点的副本,但是它自己也成为了一个工作副本,所以在它内部有一个工作副本。
那么,有没有一种简单的方法来从文件夹中删除版本控制呢?
我有一个作为工作副本的文件夹。如何从这个文件夹中移除所有SVN功能?我有自己的原因这么做,一些奇怪的情况发生了,我的主文件夹里包含了所有我工作站点的副本,但是它自己也成为了一个工作副本,所以在它内部有一个工作副本。
那么,有没有一种简单的方法来从文件夹中删除版本控制呢?
你需要的命令是 svn export。它可以将一组受控文件导出到非受控位置并使用。
只需删除其中所有的“.svn”文件夹,就可以了。
如果您正在使用*nix类工具:
find . -type d -name .svn -print0 | xargs -0 rm -fr
find . -type d -name .svn -print0 | xargs -0 rm -fr
替代原命令以避免在文件名包含空格时导致一切混乱。该命令意思不变,只是更通俗易懂。 - j_random_hackerWindows客户端“TortoiseSVN”具有“导出”功能。导出可以在另一个文件夹中创建一个副本,而不包含其中的所有“.svn”文件夹。 您可以从存储库或本地副本中导出,并选择包括未版本化的文件。
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d ".svn"') do rd /s /q "%%i"
递归删除所有的.svn文件夹--
(如果对于你来说导出功能不是一个选项--, 无法访问存储库等...)
TortoiseSVN具有在没有其子版本绑定的情况下导出文件的能力 - 右键单击存储库(或存储库中的目录),然后选择TortoiseSVN,再选择Export。另一种方法是删除所有文件夹中的.svn目录。
@echo off
rem cleanup .svn subdirs
setlocal enabledelayedexpansion
rem change to directory that this batch script resides in
if "%~1"=="" (
echo Usage: svncleanup svn_working_copy_dir
exit /b 1
)
echo cleaning up .svn subdirs in "%~1" ...
for /R "%~1" %%I in (.svn) do rmdir /Q /S "%%I" > NUL 2>&1
我只需使用Windows资源管理器搜索“.svn”(从我的工作副本顶部开始),然后选择它找到的所有文件夹并将其删除。