如何在 Subversion 中添加/删除文件夹而不从存储库下载?
我有一个巨大的存储库,我想在其中添加/删除文件夹。 我还没有检查过任何东西。 有什么办法可以快速做到吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有一个巨大的存储库,我想在其中添加/删除文件夹。 我还没有检查过任何东西。 有什么办法可以快速做到吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
如果您有 svn 命令行客户端,请查看命令 svn mkdir 和 svn delete。
可以获得完整的文档
通过输入svn help mkdir
和
svn help delete
If you have the svn command line client then check out the commands svn mkdir and svn delete.
Full documentation is available by typing
svn help mkdir
and
svn help delete
svn 删除
可以对工作副本或 URL 进行操作。 当您指定 URL 时,该操作会导致即时提交 - 所以要小心。
如果要在一次提交中删除多个不相交的目录,可以使用
--深度
参数 到svn checkout
进行浅层(因此快速)结帐,您可以在其上进行操作本地然后提交。当然,这个答案假设您只想从相关 URL 的 HEAD 中删除文件 - 如果您想从存储库中完全删除文件/文件夹,您可以使用 还有更多工作要做。
(编辑以添加有关添加的信息如下)
要添加目录,您必须有一个工作副本。 但它不必是完整工作副本:您可以使用
--深度
,如上所述,仅检查要添加到的目录您的新目录,然后svn add
新目录,然后提交。如果您要添加的目录存在于存储库中的其他位置,您可以使用
svn copy
将其及其历史记录从一个 URL 复制到另一个 URL。svn delete
can operate either on a working copy or on a URL. When you specify a URL, the operation causes an instant commit - so be careful.If you want to delete multiple, disjoint directories in a single commit, you can use the
--depth
argument tosvn checkout
to make a shallow (and therefore fast) checkout, on which you can operate locally and then commit.Of course, this answer assumes that you only want to delete the file from the HEAD of the URL in question - if you want to completely erase a file/folder from the repository, you have more work to do.
(edit to add information about adding follows)
To add directories, you have to have a working copy. But it doesn't have to be a complete working copy: you can use
--depth
, as mentioned above, to only check out the directory to which you want to add your new directory, thensvn add
the new directory, then commit.If the directory you're adding exists elsewhere in the repository, you could copy it with history using
svn copy
from one URL to another.如果您在 Windows 上使用 Tortoise SVN,这很简单。 您只需执行“查看存储库”并在服务器上添加文件夹即可,全部通过 GUI 完成。
If you're using Tortoise SVN, on Windows, this is easy. You can just do "View Repository" and add the folder on the server, all through the GUI.
例如: svn mkdir http://svn.xxx.com/repo/new_project
例如: svn import ./new_project http://svn.xxx.com/repo/new_project
eg : svn mkdir http://svn.xxx.com/repo/new_project
eg : svn import ./new_project http://svn.xxx.com/repo/new_project
是的。 您可以使用 TortoiseSVN 客户端来实现此目的。
Yes. You can use e.g. TortoiseSVN client for that.