搜索后我无法找到答案,我想知道:什么时候应该创建一个新的存储库?我是版本控制和学习GitHub的新手,虽然有很多技术信息,但我还没有找到任何关于样式的内容以及何时创建新的存储库以及如何命名它?
例如,如果我想为不同的排序算法上传代码,它们是否应该拥有自己的存储库,或者它们是否应该相同?如果代码在同一个项目中使用,它应该存储在同一个存储库中吗?
答案 0 :(得分:2)
由于你刚刚开始使用GitHub,我将不再讨论子模块。
一般惯例是考虑与项目等效的存储库。与该项目相关的所有内容应该在同一个存储库中组合在一起。
在您的情况下,它都属于同一个存储库。可以使用两种排序算法吗?理想情况下,您可以在两者之间使用某种代理,以便排序算法的实际API /合约使用量从您的应用程序中抽象出来,因此在您使用哪一个时并不重要。
正如我之前提到的,您可以合并子模块,这样可以让您在同一个存储库中拥有多个项目,但这是在评估您的需求后应该做的高级事情。
答案 1 :(得分:0)
这是一个有趣的问题。在我看来,您可以轻松地将所有排序算法保存在一个仓库中。只需为每个算法创建单独的子文件夹。
只应为新项目创建新的仓库。例如,如果您在两个不同的电子商务网站上工作,除非必须一起工作,否则不要将它们放在同一个仓库中。如果您有不同客户的不同项目,那么如果在客户端有一个对应项,您可以将项目合并到一个仓库中。否则,最好将它们分开。
考虑安全性(谁应该访问代码),可读性(是否存在可能使未来用户感到困惑的重叠名称)和使用情况(客户端上的一个对应方需要访问
答案 2 :(得分:0)
保持简单:这取决于您的项目有多大。
像谷歌的Android 这样的巨型项目几乎拥有所有的存储库。他们还使用git submodule
s,它们基本上是存储库中的存储库。
如果您在一个小团队中,通常没有人反对仅使用一个存储库。但想象一下,每当你想要进行更改时,你必须等到1000个贡献被加载;这将是非常耗时的。
所以在你的情况下 - 我猜 - 一个存储库
答案 3 :(得分:0)
我建议考虑代码的哪些部分需要一起提交。如果代码的一部分中的更改需要与代码的另一部分中的更改同步,那么如果您尽可能将它们保存在同一个存储库中,它将使生活更轻松。这特别适用于依赖关系是双向的。
如果代码库的某个部分的更改完全独立于代码库的其他部分,那么您可以随意将代码的这些部分放在不同的存储库中。