我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?

我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。


当前回答

还有一个很棒的小开源工具叫做SVN Cleaner,它在Windows资源管理器上下文菜单中添加了三个选项:

删除所有。svn 删除Root .svn 删除本地回购文件

其他回答

使用svn export命令:

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

导出版本控制下的所有文件。仔细检查,确保你没有错过任何东西。

我的想法是删除.svn文件夹,然后将所有其他文件移动到一个新文件夹。事情就是这么简单。

我使用rsync:

# copy folder src to srcStripped excluding subfolders named '.svn'. retain dates, verbose output
rsync -av --exclude .svn src srcStripped

在Windows 10上,我们需要进入Windows资源管理器,然后进入“查看”,选中“查看隐藏文件”的复选框。

然后在Windows资源管理器中找到SVN的链接文件夹,删除“。SVN”文件夹/文件。

重要的一点是,当您使用shell删除.svn文件夹时,您需要使用-depth参数来防止find命令进入刚刚删除的目录并显示错误消息,例如:

“找到:。/。svn:没有这样的文件或目录"

因此,你可以像下面这样使用find命令:

cd [dir_to_delete_svn_folders]
find . -depth -name .svn -exec rm -fr {} \;