51

我正在使用 TortoiseSVN,我想将现有存储库签出到本地目录中。但是,我只想拉下文件树的某些部分。有没有办法我可以做到这一点?

例如:

/trunk
    /project-A
    /project-B
    /project-C

假设我只想拉下主干、项目-A 和项目-B。我怎么做?

4

5 回答 5

76

看起来你很成功,但我想包含一个分步指南,希望它对其他人有所帮助。

  1. trunk出深度为“仅此项目”的工作副本
  2. 打开工作副本
  3. 从工作副本转到 repo 浏览器
  4. 选择所需的项目子文件夹,右键单击并选择“将项目更新到修订版”

这只会将您选择的子文件夹拉到您的工作副本中。

于 2009-11-03T16:03:34.520 回答
48

这可能来晚了,但对于任何发现此问题并想知道是否可以排除现有目录的人:似乎有一种方法可以这样做。

  1. 右键单击要排除的目录
  2. TortoiseSVN -> 更新到修订版...
  3. 从更新深度下拉框中选择排除并按确定

如果该目录没有任何本地模块,则应该删除该目录并将其排除在进一步的更新之外。如果您需要返回目录,请使用上述 Michael Hackner 的方法。

于 2012-12-18T16:09:32.777 回答
10

从上面扩展自治的答案......

如果您已签出整个项目,然后想从中排除某些文件夹或文件......

  1. 右键单击包含要排除的目录/文件的父目录
  2. TortoiseSVN -> 更新到修订版...
  3. 从更新深度下拉框中选择排除,然后单击“选择项目...”和
    • 选择您要保留的项目
    • 取消选择排除的项目
    • 然后再次按 OK & OK

这应该删除您取消选择的目录/文件,并将它们从进一步的更新中排除。如果您需要返回目录,请重复该过程并更改您的选择。

于 2014-01-09T11:06:40.547 回答
4

如果您进入项目-A 文件夹并右键单击==>SVN 更新,它只会更新项目-A 文件夹及其子文件夹。然后你可以对项目-B 做同样的事情

于 2009-11-03T15:24:03.990 回答
3

这也有效:

  1. 右键单击 > 选择 SVN Checkout
  2. 选择“选择项目...”
  3. 选择您想要的子文件夹/项目 [1]

[1] - 请注意,如果您部分签出子文件夹(没有该子文件夹中的所有项目),并且随后将文件添加到该子文件夹并提交,则执行常规签出时将不会得到它们。

这个问题与Can you do a partial checkout with Subversion 有关吗?但在使用 TortoiseSVN 的特定背景下。

于 2011-11-16T02:30:39.287 回答