如何使用TortoiseSVN从源代码管理中删除文件夹?


129

如何从使用TortoiseSVN控制源中删除文件夹?


10
好问题。对于本来应该是简单的任务而言,这太可笑了。
Paul Suart

给使用“ SVN更新到修订版”(而不是svn检出)的任何人的注释:尝试再次使用SVN更新到修订版,但这一次将“更新深度”设置为“排除”。
华莱士·布朗

您可以删除.svn相关的文件夹
ahmednabil88

我一直想知道在Windows / Tortoise上是否可以简单地在PC上删除本地文件夹。因此,您的服务器上有一个repo REPO。而且您恰巧在PC上有LOCALFOLDER版本。您只是不再需要该PC上的本地版本。在这种情况下,我只需在PC上删除文件夹LOCALFOLDER。(在将LOCALFOLDER扔到垃圾箱之前,我根本没有从Tortoise菜单中执行任何操作。)要明确地说,我不想以任何方式影响REPO-我只是不想/不再需要LOCALFOLDER版本。我一直想知道这样做是否可以?
Fattie

或者,Tortoise是否在PC上的某个位置保留了“其他内容”,以便从那时起,Tortoise会感觉到缺少LOCALFOLDER?
Fattie

Answers:


56

扩展上下文菜单中有一个专用项目:

  • 按住该Shift键,然后右键单击该文件夹。
  • 在TortoiseSVN菜单下,单击“删除(保留本地)”

enter image description here

TortoiseSVN的扩展上下文菜单页面裁剪的图像。
删除(保留本地)文档说明。


4
右键单击文件夹时,实际上是CTRL + SHIFT。快来Stackoverflow为什么我在底部找到这个答案?
hollystyles 2011年

4
你们正在使用哪个版本?1.6.12版没有删除(保留本地)选项。Shift和CTRL + Shift都不起作用。
thehhv 2011年

1
我只是再次检查,仅Shift +右键单击对我有效。@thehhv版本1.6.10仍然可以选择。
bob esponja

1
很棒的答案。Shift +单击确实适用于1.6.10。完成此操作后,您仍然必须提交文件以使其从远程存储库中消失。
hotshot309

2
这应该被标记为答案,因为这是使用TortoiseSVN的最简单方法
alejosoft

176

最简单的方法描述如下:http : //tortoisesvn.net/unversion.html

那篇文章有点罗word,有些方法对我不起作用(例如将文件夹拖到自身上-Windows 7不允许)。

这篇文章对我有用的是:

简单:当您右键单击工作副本并从上下文菜单中选择“ 导出 ...”时,将显示一个文件夹浏览对话框,您可以在其中选择要将工作副本导出到的文件夹。如果你现在选择与 工作副本相同的路径作为目标(即,您要将工作副本导出到其自身),TortoiseSVN将删除该工作副本的所有.svn文件夹。


3
Stefan,我尝试了您描述的过程,TSVN向我显示了“ Unversion”对话框(带有显示进度的进度条),但是在完成该过程之后,该文件夹与以前相同。我有Win7,文件夹位于网络共享上-这可能与程序失败(无提示)有关吗?(无论如何还是+1,因为我确实需要此程序)
Heinrich Ulbricht 2010年

它不应默默地失败。您确定隐藏的.svn文件夹仍然存在吗?
Stefan

是的,我可以看到他们。我最初的问题是我想摆脱网络共享上整个检出的目录(包括子目录)。这失败了,因为Windows说有人正在使用文件。因此,我认为这可能是svn高速缓存,通过使用TSVN世界中的一种方法,我可以解决此访问问题。但没有运气:(
Heinrich Ulbricht 2010年

1
为避免需要链接,在此重复此过程:简单:当您右键单击工作副本并从上下文菜单中选择“导出...”时,将显示一个文件夹浏览对话框,您可以在其中选择要将工作副本导出到的文件夹。如果现在选择与工作副本相同的路径作为目标(即,您要将工作副本导出到其自身),TortoiseSVN将删除该工作副本的所有.svn文件夹。
Charley Rathkopf

当我尝试执行此操作时,我开始收到错误消息,指出我导出到其本身的目录现在是“非工作目录”,并且已被“阻塞”,应该进行清理,但是当我尝试该操作(IIRC)时,出现了一个错误,即根目录已锁定。我终于做了一个MOVE(将文件夹拖到非SVN文件夹,然后从下拉菜单中选择“导出...”),然后再执行Delete(都使用Tortoise)。
克莱·尼科尔斯

12

如果要从源代码管理中删除该文件夹但将其保留在本地,最简单的方法是

  1. 创建文件夹的备份(只需将其复制到其他位置)
  2. 请按照说明删除它
  3. 恢复文件夹
  4. 告诉Subversion“忽略”文件夹

您还应该删除要删除的.svn文件夹中的目录,否则将使svn / tortoise混乱。您还可以对第1步执行“导出”操作,该操作将为您删除所有.svn目录(如果要对整个目录树而不是单个目录执行此操作,则比手动清除文件夹要方便得多) 。


1
对于(1),您可以导出以摆脱副本的SVN数据。
dahlbyk

正确-您必须通过TortoiseSVN删除它,还原它,然后删除其中的所有svn文件夹(以及.version)文件。
机遇

*然后忽略它-尽管它像一种魅力一样工作(感谢)
机会

对我来说,仅导出它就摆脱了我想要的SVN存储库和文件夹上的绿色复选标记。
哈马德·汗

7

TortoiseSVN菜单具有“导出”选项,该选项将为您提供从存储库分离的文件夹的副本。或者,您可以右键单击并拖动文件夹,然后选择“ SVN导出到这里”或“ SVN全部导出到这里”。

“全部导出”等效于在“导出”对话框中选择“也导出未版本化的文件”,这将有效地克隆不带.svn文件夹的工作副本。




2

我运行了乌龟命令“更新为SVN 1.7”,将所有.svn文件夹合并到一个文件夹中。然后,我能够删除一个.svn文件夹,一切顺利!


2

我看到有三种简单的方法可以使用TortoiseSVN取消验证并保留文件(或目录)的本地版本

  1. Stefan所写的相同路径导出 ;
  2. 使用Shift键作为鲍勃·埃斯庞贾的答案访问“删除(保留本地)”功能
  3. 取消版本并添加忽略列表选项,我正在用此答案报告

我发现后一种方法是这三种方法中最简单的,而第一种(投票最多的)方法在执行操作方面最长。


2

删除您要从版本控制中删除的文件夹中的.svn文件夹。


1

这对我有用:

  1. 右键单击要删除的文件夹/分支,然后使用TortoiseSNV-> Delete
  2. 执行清理。我是从命令行完成的svn cleanup <path to the folder to delete including folder name>;否则,您可以右键单击该文件夹并执行清除操作。
  3. 转到要删除的文件夹的父目录,然后提交更改。

这应该从您的工作目录和Subversion中删除该文件夹。


1

在选择“将未版本化的文件导出到”选项时,将文件夹导出到新位置非常适合我。TortoiseSVN删除所有特定于Subversion的设置,您将获得一个干净的文件夹。现在,您可以删除原始文件夹,然后将新的导出文件夹移动到该文件夹​​中。


0

偶尔我会遇到Subversion的工作副本文件夹,我知道该文件夹不再需要版本控制。我想“取消版本化”它们。通常,我会在所有与.svn相关的文件夹上进行查找和删除,但是如果您安装了TortoiseSVN,则有一种更简单的方法。

您应该熟悉“导出”命令。这将在没有所有讨厌的.svn文件夹的情况下在新位置复制文件。如果您要“取消版本化”但不想要副本,则只需执行“导出”,然后当Tortoise要求“文件夹导出到”时,只需选择工作副本所在的文件夹即可!乌龟将继续删除所有.svn文件夹。

引用:http : //thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/


-1

右键单击工作副本,然后从上下文菜单中选择“导出...”。显示文件夹浏览对话框。

您必须选择与工作副本相同的路径作为目标。TortoiseSVN会询问您是否要删除该工作副本的所有.svn文件夹。只是说是!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.