85

如何将没有版本控制的文件夹添加到特定的 SVN 位置?我经常开始编写代码,只有在我有几个包含代码文件的文件夹后,我才会将它添加到 SVN。

我通常做的是:

  1. svn co我想创建一个新文件夹来存储我的代码的父目录。
  2. svn mkdir来创建我想要放入我的代码的目录。
  3. 复制并粘贴我的代码。
  4. svn 提交
  5. 删除我当前的工作代码目录。
  6. 使用svn co重新创建我的工作代码目录。
4

7 回答 7

139

假设我在目录中有代码~/local_dir/myNewApp,我想把它放在“ https://svn.host/existing_path/myNewApp ”下(同时能够忽略一些二进制文件、供应商库等)。

  1. 在存储库中创建一个空文件夹svn mkdir https://svn.host/existing_path/myNewApp
  2. 转到项目的父目录,cd ~/local_dir
  3. 查看本地文件夹上的空目录。不要害怕 - 您在本地拥有的文件不会被删除。svn co https://svn.host/existing_path/myNewApp. 如果您的文件夹在本地与存储库中的名称不同,则必须将其指定为附加参数。
  4. 您可以看到svn st现在将所有文件显示为?,这意味着它们当前不受修订控制
  5. svn add对要添加到存储库的文件执行,并将其他文件添加到svn:ignore. svn help add例如,当您只想选择性地添加一些文件/文件夹时,--parents--depth empty可能会发现一些有用的选项。
  6. 提交svn ci
于 2015-06-21T15:36:08.807 回答
55

如果我正确理解了您的用例,我建议尝试使用svn add将新文件夹放在版本下,请参见此处。以下将在版本控制下递归地添加带有文件的新文件夹(如果您在有效的工作副本中):

svn add new_folder
svn commit -m "Add New folder to the project"

如果您不在工作副本中,请使用svn checkout创建它,将 new_folder 复制到那里并执行上述步骤。

或者

试试svn import,看这里;以下将创建一个新文件夹并将文件上传到存储库:

svn import -m "Import new folder to the project" new_folder \
        http://SVN_REPO/repos/trunk/new_folder

另请注意:

导入数据后,请注意原始树不受版本控制。要开始工作,您仍然需要 svn checkout 树的新工作副本

于 2013-03-19T22:06:53.193 回答
9

我不使用命令。您应该能够使用 GUI 执行此操作:

  • 右键单击 My Documents 文件夹中的空白区域,选择 TortoiseSVN > Repo-browser。
  • 输入http://subversion ...(您将保存到的 Subversion 服务器/目录的 URL 路径)作为路径并选择 OK
  • 右键单击 Repo 中的根目录,然后选择Add folder。给它你的项目的名称并创建它。
  • 右键单击 Repo 浏览器中的项目文件夹,然后选择Checkout。Checkout 目录将是您的Visual Studio\Projects\{your project}文件夹。选择确定。
  • 您将收到文件夹不为空的警告。对签出/导出到该文件夹​​说“是” - 它不会覆盖您的项目文件。
  • 打开您的项目文件夹。您将在与您的 VS 项目关联但尚未添加到 Subversion 的文件夹上看到问号。使用 Ctrl + 单击选择这些文件夹,然后右键单击所选项目之一并选择TortoiseSVN > 添加
  • 在提示符下选择确定
  • 您的文件应该添加。在 Add Finished 上选择 OK!对话
  • 右键单击文件夹的空白区域并选择刷新。您现在会在文件夹/文件上看到“+”图标
  • 再次右键单击文件夹中的空白区域并选择SVN Commit
  • 添加有关您所提交内容的消息,然后单击“确定”
于 2016-07-14T20:53:13.217 回答
2

在 Windows 7 中,我这样做了:

  1. 你安装了 SVN 和 Tortoise SVN 了吗?如果没有,谷歌他们,现在就这样做。
  2. 转到您可能有其他存储库(存储库的缩写)的 SVN 文件夹(或者如果您从头开始创建一个,请选择位置 C 驱动器、D 驱动器等或网络路径)。
  3. 创建一个新文件夹来存储您的新存储库。将其命名为与您的项目名称相同的名称
  4. 右键单击文件夹并选择 Tortoise SVN -> 在此处创建存储库
  5. 对创建文件夹结构说“是”
  6. 单击确定。您应该在新文件夹/repo 旁边看到一个看起来像“wave”的新图标
  7. 右键单击新的 repo 并选择 SVN Repo Browser
  8. 右键单击“树干”
  9. 选择 ADD Folder... 并指向您正在开发的项目的文件夹结构。
  10. 单击确定,SVN 将添加您的文件夹结构。请耐心等待!看起来 SVN 已经崩溃/冻结。不用担心。它正在做它的工作。

完毕!

于 2017-12-06T05:17:52.667 回答
1

3个步骤:

  • 打开“回购浏览器”(使用您父文件夹的链接)。
  • 右键单击选择“添加文件夹”。
  • 浏览到您的文件夹。

在此处输入图像描述

于 2017-08-10T07:26:03.663 回答
1

如果打算将本地/工作副本添加到 SVN,我曾经按照以下方式进行操作。

注意:我使用TortoiseSVN客户端,这些步骤假设您已经安装了 TortoiseSVN 客户端。

  1. 我在本地有一个项目(Test-4.2.2)。我想将其上传/添加到 SVN 存储库。
  2. 使用 TortoiseSVN 存储库浏览器,我创建了一个空目录“Test-4.2.2”
  3. 在我的本地,我将现有的“Test-4.2.2”目录重命名为“Test-4.2.2.1”(临时)
  4. 将 SVN 中的空“Test-4.2.2”签出到本地
  5. 将4.2.2.1下的所有子目录复制到这个结账目录4.2.2
  6. 现在,右键单击“Test-4.2.2”并提交。
  7. 删除临时文件夹“Test-4.2.2.1”
于 2016-07-04T14:18:09.500 回答
0

让我们试试..它对我有用..

svn add * --force
于 2019-06-18T10:37:47.703 回答