我如何在我的Git存储库中有目录,我通常不会检查?

时间:2011-07-20 18:48:53

标签: git svn

我正在考虑将我的Subversion网站存储库移动到Git,但我不确定如何构建我的新存储库。在svn中,我按照这样构建了我的回购:

  • branches
  • 标签
  • 躯干
    • supportdocs
    • webdocs

在我的主干下,我有一个支持文档(word文档,photoshop文件等)的目录和一个包含实际网站的webdocs目录。

然后我只会检查webdocs目录以便在Eclipse中使用。但是,使用git,如果我将现有的trunk作为我的repo的根目录,那么一个克隆会抓住整个东西,这使得我很难处理我的webdocs文件。

我应该创建两个repos,一个用于支持文档,一个用于Web文件?或者有没有办法可以将它们保存在主分支中,但只能使用子文件夹?

4 个答案:

答案 0 :(得分:0)

你需要两个单独的回购。

git无法检出repo的单独子文件夹,只能处理这些子文件夹

编辑:看起来sparse checkouts有一些功能,但您的工作目录仍然包含通向该子目录的路径。

答案 1 :(得分:0)

您可以使用sparse checkouts完成此操作。但请注意,克隆仍将包含其他目录,您只需将它们放在工作目录中。

答案 2 :(得分:0)

我是否可以建议围绕'git'和DVCS范例阅读更多内容,因为它与围绕所有集中控制流程的19世纪版本控制流程完全不同。

需要一段时间才能“达到”水平,足以看到如何最好地重新分区旧商店并创建新的回购,通常使用比以前更多的单独回购。

答案 3 :(得分:0)

如果这些分支与主要文档的任何具体版本无关,则可以与支持文档分开(不相关)分支。

(这实际上类似于拥有两个单独的存储库,但是您可以将所有内容放在一起。使用git-new-workdir,您可以为同一个存储库创建一个新的工作目录。)

例如,我在我的jsch-documentation repository on Github中使用了类似的东西。我有树无关的提交(和分支)树:

  • 与JSch相关的内容:masterbetter-examplesdirecttcp-ip-bugtarballshostbased-authswingworker-example
  • 与JZlib相关的:jzlib-tarballsjzlib-source
  • 网页(主要是自动生成的javadocs):gh-pages

实际上,这些可能是三个不同的存储库(除了github从gh-pages分支生成网站这一事实之外)。