如何在 TortoiseSVN 中将文件(或文件夹)从一个文件夹移动到另一个文件夹?

Posted

技术标签:

【中文标题】如何在 TortoiseSVN 中将文件(或文件夹)从一个文件夹移动到另一个文件夹?【英文标题】:How do I move a file (or folder) from one folder to another in TortoiseSVN? 【发布时间】:2010-09-08 22:05:15 【问题描述】:

我想在同一个存储库中将文件或文件夹从一个位置移动到另一个位置,而无需使用 Repo Browser 来执行此操作,也无需创建两个独立的添加/删除操作。使用 Repo 浏览器可以正常工作,只是您的代码将一直处于损坏状态,直到您之后签入任何支持更改(例如 .csproj 文件)。

更新:人们建议从命令行“移动”。是否有 TortoiseSVN 等价物?

【问题讨论】:

【参考方案1】:

您必须使用鼠标右键拖动文件。将文件发布到新目的地的那一刻,您将看到以下选项:

SVN 将版本化文件移至此处。

只需选择此选项即可完成!

【讨论】:

【参考方案2】:

使用svn move 命令移动文件/文件夹。

【讨论】:

【参考方案3】:

要使用Tortoise SVN 移动一个文件或一组文件,请右键单击并拖动目标文件到其目标位置,然后松开鼠标右键。弹出菜单将有一个SVN move versioned files here 选项。

请注意,目标文件夹必须已添加到存储库中,SVN move versioned files here 选项才会出现。

【讨论】:

我也需要这样做,而且效果很好。从来不知道这个选项。非常感谢! 谢谢!注意:之后,它会在更改日志中显示一堆 DELETED 和 ADDED 文件和目录,但修订历史记录确实跟随文件。 :) 如果我已经移动了文件但svn仍然认为它在另一个目录中,我该怎么办? 您还需要(当然在 v1.7.6 中)需要确保您正在移动文件的目录已经添加了 subversion 传奇的答案让我很开心,你!【参考方案4】:

svn move — 移动文件或目录。

http://svnbook.red-bean.com/en/1.0/re18.html

【讨论】:

【参考方案5】:

使用 Tortoise 的 RENAME 命令,并输入相对路径(“folder/file.ext”)。

【讨论】:

【参考方案6】:

在 TortoiseSVN 下,查看以下页面:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-copy.html

【讨论】:

【参考方案7】:

在 Windows 资源管理器中,使用鼠标右键单击文件并将其从其所在位置拖动到您想要的位置。释放鼠标右键后,您将看到一个上下文菜单,其中包含“SVN 将版本化文件移至此处”等选项。

http://tortoisesvn.net/most-forgotten-feature

【讨论】:

【参考方案8】:

如前所述,您将创建添加和删除命令。您可以在工作副本或存储库 url 上使用 svn move。如果您使用工作副本,则不会提交更改 - 您需要在单独的操作中提交。

如果你 svn 移动一个 URL,你需要提供一个 --message,并且更改将立即反映在存储库中。

【讨论】:

【参考方案9】:

Subversion 还没有一流的重命名操作。

这个问题有一个 6 年前的错误:http://subversion.tigris.org/issues/show_bug.cgi?id=898

正在考虑 1.6,现在已添加合并跟踪(更高优先级)(在 1.5 中)。

【讨论】:

【参考方案10】:

如果您想移动文件保持 csproj 文件最新,最简单的方法是使用 Visual Studio 插件,如 AnkhSVN。 这将自动提交移动操作(作为带有历史记录的删除+添加,因为这就是 Subversion 的工作方式)和 .csproj 中的更改

【讨论】:

【参考方案11】:

您可以从命令行输入svn mv path1 path2。这将创建一个添加和删除操作,但据我所知,在 Subversion 中并没有真正的解决方法。

【讨论】:

以上是关于如何在 TortoiseSVN 中将文件(或文件夹)从一个文件夹移动到另一个文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何让TortoiseSVN仅导出新增或修改过的文件

如何修复我的 TortoiseSVN 存储库中的损坏?

TortoiseSVN 在 Windows 7 中在哪里保存密码缓存文件? [复制]

用TortoiseSVN忽略文件或文件夹(ignore)(网络摘抄记录)

如何在 TortoiseSVN 中取消忽略文件?

tortoiseSVN的使用,如何删除服务器上某些版本?