从 SVN 存储库中删除文件而不删除本地副本
Posted
技术标签:
【中文标题】从 SVN 存储库中删除文件而不删除本地副本【英文标题】:Remove file from SVN repository without deleting local copy 【发布时间】:2010-10-07 05:22:19 【问题描述】:我如何“删除”已经在 SVN 存储库中的文件而不从我的文件系统中删除它?
欢迎使用 TortoiseSVN 或命令行指令。
以下工作,但我希望有更好的东西:
-
将文件复制到存储库之外的其他位置。
SVN 删除文件。
提交
将文件复制回来,并确保在以后的提交中忽略它们。
【问题讨论】:
【参考方案1】:svn delete --keep-local the_file
【讨论】:
我收到“svn: invalid option: --keep-local” - 是因为我在 1.4.6 上吗? @barfoon:是的,--keep-local 仅在 svn 1.5.0+ 中可用。恐怕您必须事先手动复制文件或使用 svn cat 进行检查。 并且记得在这个操作之后做一个提交。 当用户更新时,他们会从存储库中获取最新版本。由于问题询问如何从存储库中删除文件,因此其他用户在更新时会发现 the_file 已删除。 这就是我试图避免的。一旦某些东西被意外签入,就很难从 SVN 中删除一些东西......【参考方案2】:Deleting files and folders
如果您想从存储库中删除项目,但将其作为未版本控制的文件/文件夹保留在本地,请使用扩展上下文菜单 → 删除(保留本地)。您必须在右键单击资源管理器列表窗格(右窗格)中的项目时按住 Shift 键才能在扩展的上下文菜单中看到它。
彻底删除: 鼠标右键→菜单→删除
删除并保留本地: Shift + 鼠标右键单击 → 菜单 → 删除
【讨论】:
【参考方案3】:在 TortoiseSVN 中,您还可以Shift + 右键单击以获取包含“删除(保留本地)”的菜单。
【讨论】:
【参考方案4】:重命名您的文件,提交包括“已删除”文件在内的更改,并且不包括新的(重命名的)文件。
重命名您的文件。
【讨论】:
【参考方案5】:当你想从 SVN 中删除一个 xxx.java 文件时:
-
转到文件所在的工作区路径。
从文件夹 (xxx.java) 中删除该文件
右键单击并提交,然后将打开一个窗口。
从文件夹中选择你删除的文件(xxx.java),然后再次右键删除..它将从SVN中删除该文件。
【讨论】:
这将删除文件 - 但问题不在于从 SVN 中删除原始文件后是否保留原始文件?以上是关于从 SVN 存储库中删除文件而不删除本地副本的主要内容,如果未能解决你的问题,请参考以下文章