你如何移动文件?
Posted
技术标签:
【中文标题】你如何移动文件?【英文标题】:How do you move a file? 【发布时间】:2010-09-07 22:43:36 【问题描述】:我正在对 SourceForge 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 客户端:
-
选择您要移动的文件,
右键单击文件并将其拖动到您要移动到的文件夹中,
释放文件夹上的拖放后会弹出一个窗口。单击“SVN 将版本化项目移至此处”,
单击上面的提交窗口消息框后将出现。输入消息并提交。
现在你已经完成了。
【讨论】:
【参考方案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>
以上是关于你如何移动文件?的主要内容,如果未能解决你的问题,请参考以下文章