【问题标题】:Remove file from SVN repository without deleting local copy从 SVN 存储库中删除文件而不删除本地副本
【发布时间】:2023-04-09 06:12:02
【问题描述】:

我如何“删除”已经在 SVN 存储库中的文件而不从我的文件系统中删除它?

欢迎使用 TortoiseSVN 或命令行指令。

以下工作,但我希望有更好的东西:

  1. 将文件复制到存储库之外的其他位置。
  2. SVN 删除文件。
  3. 提交
  4. 将文件复制回来,并确保在以后的提交中忽略它们。

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案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 文件时:

          1. 转到文件所在的工作区路径。
          2. 从文件夹 (xxx.java) 中删除该文件
          3. 右键单击并提交,然后将打开一个窗口。
          4. 从文件夹中选择你删除的文件(xxx.java),然后再次右键删除..它将从SVN中删除该文件。

          【讨论】:

          • 这将删除文件 - 但问题不在于从 SVN 中删除原始文件后是否保留原始文件?
          猜你喜欢
          • 2011-12-25
          • 2016-07-03
          • 1970-01-01
          • 1970-01-01
          • 2020-10-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多