代码之家  ›  专栏  ›  技术社区  ›  Alan W. Smith vishes_shell

应该为网站上的子目录创建单独的Git存储库,还是可以单独进行分支?

  •  1
  • Alan W. Smith vishes_shell  · 技术社区  · 15 年前

    我有一个网站,其中包含一组有效独立的工具,每个工具都有自己的目录。例如:

    /网络根目录 WebOOT/TooL-1 /WebOOT/Tooer-2 WebOOT/Tooer-3

    每个工具的开发都是单独进行的,因此能够在不同的时间为每个工具创建不同的分支是必要的。

    我正在考虑转移到Git进行版本控制,从文档中收集到的内容来看,最好的办法是为每个工具创建一个Git存储库。不过,我很好奇,是否有一种方法(或者更确切地说,如果明智的话)在Webroot级别拥有一个单独的存储库,但仍然以独立的方式维护子级别的工具目录。

    (注:我对此感兴趣的主要原因是我想在Github上购买一个私人空间。如果所有东西都可以轻松有效地放在一个存储库中而不会造成维护噩梦,那么我就可以使用一个比为15个左右的工具中的每一个创建一个repo成本更低的计划。)

    3 回复  |  直到 15 年前
        1
  •  2
  •   mipadi    15 年前

    我想说,这取决于各个工具目录是否真正独立,或者它们是否以某种方式相互关联。在Git中,对于每个独立的项目,最好有一个单独的存储库。在您的网站中,如果每个工具都是独立的,我会做一个单独的回购——但是如果它们之间共享任何代码,您可能只想使用一个回购。

    当然,Git里没有 防止 你不能只进行一次回购;这可能会使变化的历史更加复杂,但这是唯一的主要缺点。而且,部署到您的网站的生产服务器可能更容易与一个单一的回购。

    在GitHub上使用私有回购也会使您的情况复杂一些,因为正如您所说,如果您为每个工具都有一个单独的回购,那么您需要一个更昂贵的计划。我想你必须在这种情况下的经济性与单一或多重回购涉及的技术问题之间取得平衡。

        2
  •  1
  •   Jonathan    15 年前

    它们应该在单独的存储库中。但是,通过将它们全部放在同一个存储库中,但在各自的分支中对每个工具进行开发,您可能可以管理类似的东西,而不必太担心维护问题。

    例如,立即签入所有内容,然后创建分支“tool1”、“tool2”…

    开发人员处理这些分支。事实上,如果您从一个空的存储库开始并从那里创建分支,那么您可以完全地将工具彼此分离,但是如果您愿意,可以保留将它们合并在一起的能力。

        3
  •  0
  •   apenwarr    15 年前

    您可以使用 git subtree 工具。