【问题标题】:How do you move a file?你如何移动文件?
【发布时间】:2010-09-07 22:43:36
【问题描述】:

我正在对 SourceForge SVN 存储库使用 TortoiseSVN。我想将文件从一个文件夹移动到另一个文件夹,以维护其修订历史。这可能吗?如果是这样,你是怎么做的?

(我目前的策略是将文件复制到新文件夹中并签入,然后从当前文件夹中删除文件。)

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    使用 TortoiseSVN 传输文件:

    步骤:1 请选择您要移动的文件, 右键单击并将文件拖到您要将它们移动到的文件夹中, 按照以下说明会弹出一个窗口

    第 2 步: 单击上面的提交文件后,如下所述

    【讨论】:

      【解决方案2】:

      使用 TortoiseSVN 我只需将文件移动到磁盘上。

      当我提交更改时,我选择丢失的文件和新文件,然后从右键菜单中选择“Repair move”:

      这意味着我可以让我的 IDE 移动循环文件并使用它的重构工具而不会丢失历史记录。

      【讨论】:

      • 这是我现在移动文件的首选方式。一个警告;在两次提交之间一次只做
      • @DarrenMB 是对的:我即将将一个 Android 项目从 Eclipse 迁移到 Android Studio。所有文件都必须移动。这种方法不是我想在这里使用的。
      • @Bondax 是的,对于整个项目的迁移,你最好从 SVN 内部进行迁移——这应该是你偶尔会做的事情。对于大多数开发人员在项目期间完成的大多数文件移动,我发现这是更好的方法。
      • 我也没有Repair Move,使用的是tortoise SVN 1.9.4
      • @Mark Patterson:我看到了这个选项,我也在 1.9.4(TortoiseSVN 1.9.4,Build 27285 和 Subversion 1.9.4,-release)。我认为您的问题与版本无关...这是此功能的官方文档:tortoisesvn.net/repairmoves.html
      【解决方案3】:

      像往常一样通过操作系统上下文菜单剪切文件,然后不要进行常规粘贴,而是右键单击以显示上下文菜单,然后选择TortoiseSVN -> Paste(确保从根目录提交以将新旧文件都包含在提交)。

      【讨论】:

        【解决方案4】:

        查看 TortoiseSVN 帮助的 5.14.2. Moving files and folders 部分(或查看帮助索引中的“移动”)。你通过右拖来移动。它还提到您需要从父文件夹提交以使其成为“一个”修订版。这适用于在工作副本中进行更改。

        (请注意,下图中的 SVN 项目仅在目标文件夹已添加到存储库时才会显示。)

        您也可以通过回购浏览器进行移动(5.23. The Repository Browser 部分 的帮助)。

        【讨论】:

        • 当我突出显示我的所有文件时,右键拖动,常规的 Windows 资源管理器菜单出现了。它让我选择“移动”,但它不是 SVN 选项,所以我不确定是否发生了任何事情。当我检查是否有修改时,它说有 300 个文件被删除,300 个没有版本控制。这似乎无法正常工作。我害怕在不知道这是否应该工作的情况下提交它
        • 我刚刚意识到它可能不起作用,因为我还没有添加/提交新目录
        • 我知道这是几年后的事了——但乔的评论很重要。我也为此苦苦挣扎-我忽略了答案中的那个小注释。目标文件夹必须在 SVN 控制下,否则这将不起作用。值得庆幸的是 SVN 允许添加空文件夹。将文件夹置于 SVN 控制下后,鼠标右键拖动将按上述方式进行操作。否则会出现通用的 Windows“复制此处/移至此处/取消”菜单(即缺少 SVN 选项)。
        • 这太完美了。我在一次移动超过 1,500 个文件时遇到了一些问题。不过,一次移动一个目录似乎可以解决这个问题。
        【解决方案5】:

        对于 TortoiseSVN 客户端:

        1. 选择您要移动的文件,
        2. 右键单击文件并将其拖动到您要移动到的文件夹中,
        3. 释放文件夹上的拖放后会弹出一个窗口。单击“SVN 将版本化项目移至此处”
        4. 单击上面的提交窗口消息框后将出现。输入消息并提交。

        现在你已经完成了。

        【讨论】:

          【解决方案6】:

          如果您通过存储库浏览器移动文件夹,则右键单击时没有移动选项;唯一的方法是拖放。

          【讨论】:

            【解决方案7】:

            在 TortoiseSVN 中右键单击某处并转到 TortoiseSVN > Repo Browser 打开存储库。

            您所要做的就是将文件从一个文件夹拖放到您想要的位置。它会要求您添加提交消息,并将其默认为“远程移动文件/文件夹”

            【讨论】:

              【解决方案8】:

              由于您使用的是 Tortoise,您可能需要查看 LosTechies 上的此链接。它应该几乎正是您正在寻找的。

              http://www.lostechies.com/blogs/joshua_lockwood/archive/2007/09/12/subversion-tip-of-the-day-moving-files.aspx

              【讨论】:

              • 由于该链接可能会断开,您可能需要将相关信息复制到您的答案中。
              • ...该链接已损坏。要点和案例。
              【解决方案9】:

              使用 TortoiseSVN 我只需右键单击并将文件夹从一个位置拖到另一个位置。当您释放右键单击时,您将可以选择“SVN 移动版本文件”。但是,我相信 SVN 并没有在那里做任何“花哨”的事情,只是简单地删除了先前位置的文件并将其添加到新位置。

              【讨论】:

                【解决方案10】:

                也可以被tortoise称为“重命名”,但svn move,是准系统svn客户端中的命令。

                【讨论】:

                • 最简单最准确的答案就是那个!使用 TortoiseSVN 移动文件是通过右键单击 > 重命名来完成的。就是这样。
                【解决方案11】:

                如果我没记错的话,从 1.5 版开始,SVN 可以跟踪移动的文件\文件夹。在 TortoiseSVN 中使用可以通过拖放移动文件。

                【讨论】:

                  【解决方案12】:

                  我认为在 tortoisesvn 的 svn 浏览器中,您可以将其从一个地方拖到另一个地方。

                  【讨论】:

                    【解决方案13】:

                    Subversion 原生支持移动文件。

                    svn move SOURCE DESTINATION
                    

                    有关详细信息,请参阅在线帮助 (svn help move)。

                    【讨论】:

                    • 或者换一种说法:svn move <current path/filename> <destination path/filename>
                    猜你喜欢
                    • 1970-01-01
                    • 2016-05-13
                    • 1970-01-01
                    • 2022-01-15
                    • 1970-01-01
                    • 2019-07-08
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多