如何添加文件到SVN现有的文件夹?

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

我通常做的是:

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

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

  1. 在存储库中创build一个空文件夹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 ,当你想有select地添加一些文件/文件夹。
  6. svn ci提交

如果我正确理解你的用例,我build议尝试使用svn add将新文件夹放在版本下,请看这里 。 以下将在版本控制下recursion地添加新文件夹(如果您在有效工作副本内):

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

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

要么

试试svn import ,看这里 ; 以下内容将创build一个新的文件夹并将file upload到存储库:

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

另请注意:

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

我不使用命令。 你应该可以使用GUI来做到这一点:

  • 用鼠标右键单击我的文档文件夹中的空白空间,selectTortoiseSVN> Repo浏览器。
  • inputhttp:// subversion …(将保存到您的Subversion服务器/目录的URLpath)作为您的path,然后select确定
  • 右键单击Repo中的根目录并select添加文件夹 。 给它的项目名称,并创build它。
  • 右键单击Repo浏览器中的项目文件夹,然后selectCheckout 。 Checkout目录将是您的Visual Studio\Projects\{your project}文件夹。 select确定。
  • 您将收到一个警告,该文件夹不是空的。 说结帐/导出到该文件夹​​ – 它不会覆盖您的项目文件。
  • 打开你的项目文件夹。 您将在与VS项目相关联的文件夹中看到尚未添加到Subversion的问号。 使用Ctrl +单击select这些文件夹,然后右键单击其中一个选定的项目,然后selectTortoiseSVN> Add
  • 在提示中selectOK
  • 你的文件应该添加。 在添加完成! 对话
  • 右键单击该文件夹的空白区域,然后select刷新。 现在,您将在文件夹/文件上看到“+”图标
  • 再次右键单击该文件夹中的空白区域,然后selectSVN提交
  • 添加关于您正在提交的消息,然后单击确定

如果打算将本地/工作副本添加到SVN,我曾经这样做过。

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

  1. 我在当地有一个项目(Test-4.2.2)。 我想上传/添加到一个SVN仓库。
  2. 使用TortoiseSVN回购浏览器,我创build了一个空目录“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”

3步骤:

  • 打开“Repo浏览器”(使用yr父文件夹的链接)。
  • 右键点击select“添加文件夹”。
  • 浏览到您的文件夹。

在这里输入图像说明