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

时间:2009-08-19 14:27:05

标签: git repository

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

/根目录 /根目录/工具-1 /根目录/工具-2- /根目录/工具-3

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

我正在考虑转向Git进行版本控制,从我从文档中收集到的内容,最好的办法是为每个工具创建一个git存储库。我很好奇,如果有一种方法(更重要的是,如果可取的话)在webroot级别拥有一个存储库,但仍以独立方式维护子级别工具#目录。

(注意:我对此感兴趣的主要原因是因为我正在考虑在GitHub上购买一个私人空间。如果一切都可以轻松有效地进入一个存储库而不会导致维护噩梦,我将能够利用比我必须为十五个左右的工具创建一个回购更便宜的计划。)

3 个答案:

答案 0 :(得分:2)

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

当然,Git 中的任何内容都无法阻止你拥有一个回购协议;它可能会使变化的历史变得更复杂,但这是唯一的主要缺点。只需一个回购,部署到您网站的生产服务器甚至可能更容易。

通过在GitHub上使用私人回购,你的情况也有点复杂,因为正如你所说,如果每个工具都有一个单独的回购,你需要一个更昂贵的计划。我想你必须平衡情况的经济性与单个或多个回购所涉及的技术问题。

答案 1 :(得分:1)

它们应该位于不同的存储库中。但是,你可以通过将它们全部放在同一个存储库中来管理类似的东西,而不会有太多的维护问题,但是在它自己的分支中对每个工具进行开发。

因此,例如,立即检查所有内容,然后创建分支“tool1”,“tool2”,...

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

答案 2 :(得分:0)

您可以使用git subtree工具随意拆分和合并存储库。