我有一个文件夹,是我的工作副本。如何从此文件夹中删除所有SVN功能?我有理由这样做,不知何故,我的主文件夹包含我所有工作的网站副本,不知何故已经变成了一个工作副本本身,所以我本身就有一个工作副本。
那么,是否有一种从文件夹中删除版本控制的简单方法?
答案 0 :(得分:47)
svn export是您正在寻找的命令。您可以将一组受控文件导出到非受控位置并使用它。
答案 1 :(得分:32)
只需删除其中的所有“.svn”文件夹即可。就是这样。
答案 2 :(得分:23)
如果你使用类似* nix的工具:
find . -type d -name .svn -print0 | xargs -0 rm -fr
答案 3 :(得分:13)
如果您正在使用TortoiseSVN,您只需在工作副本的根文件夹中单击鼠标右键,然后单击导出...即使您有未经修改的更改,这也会有效。
同样,您只需从存储库执行导出,它就不会创建任何.svn文件夹。
另一种直截了当的方法是删除所有.svn文件夹,如前所述。
答案 4 :(得分:4)
您可以手动删除所有.svn文件夹(确保也为每个子文件夹执行此操作)或使用像Jon Gallaway's shell command这样的简单实用程序。
答案 5 :(得分:4)
Windows客户端“TortoiseSVN”具有“导出”功能。导出会在其他文件夹中的其他位置创建副本,而不包含其中的所有“.svn”文件夹。 您可以从存储库或本地副本导出,并选择包含未版本控制的文件。
答案 6 :(得分:4)
怎么样:
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d ".svn"') do rd /s /q "%%i"
以递归方式删除所有.svn文件夹 -
(如果导出功能不是您的选项 - ,无法访问存储库等...)
答案 7 :(得分:3)
TortoiseSVN能够在没有其subversion绑定的情况下导出文件 - 右键单击存储库(或存储库中的目录),然后右键单击TortoiseSVN,然后单击Export。另一种方法是删除所有文件夹中的所有.svn目录。
答案 8 :(得分:3)
这是一个Windows批处理脚本,它将从Subversion工作副本目录中删除所有.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
答案 9 :(得分:2)
使用TortoiseSVN,您可以进行右键拖动;删除您的文件夹,然后选择“SVN全部导出到此处”命令。
答案 10 :(得分:2)
我只是使用Windows资源管理器搜索“.svn”(从我的工作副本的顶部开始),然后选择它找到的所有文件夹并将其删除。
答案 11 :(得分:2)
使用乌龟出土
当我阅读上述所有建议时,我感到很沮丧,因为我的源文件是3GB,有很多.vn文件夹。
从R-click上下文菜单中选择导出,当弹出“放置复制的位置”对话框时,选择同一个文件夹本身。好。 Viola所有的源代码控制都是(递归地)消失了。
答案 12 :(得分:1)
你不能只删除.svn子文件夹吗?
据我所知,SVN存储了与该子文件夹中存储库的连接的所有内容(至少在windows中)
答案 13 :(得分:1)
正如其他人所说,删除.svn文件夹将删除该文件夹中的SVN功能 。如果以递归方式执行,您将“取消SVN”整个WC,这实际上是导出命令的作用。我不确定它是否是Tortoise,CLI SVN二进制文件或两者的功能,但我记得其中一个允许您进行就地导出,它实际上只是从WC中删除了.svn文件夹。正常导出会在未版本化的新位置创建WC的副本。