何时创建新存储库?

When to create a new repository?

搜索后我找不到答案,我想知道:什么时候应该创建一个新的存储库?我是版本控制和学习的新手 GitHub,虽然有很多技术信息,但我还没有找到任何关于样式、何时创建新存储库以及如何命名的信息?

例如,如果我想上传不同排序算法的代码,它们应该各自有自己的存储库还是应该在同一个存储库中?如果代码在同一个项目中使用,它应该存储在同一个存储库中吗?

这是一个有趣的问题。在我看来,您可以轻松地将所有排序算法放在一个存储库中。只需为每个算法制作单独的子文件夹。

只应为新项目创建新存储库。例如,如果您在 2 个不同的电子商务网站上工作,除非他们必须一起工作,否则不要将它们放在同一个 repo 中。如果您有针对不同客户的不同项目,那么如果在客户端只有一个对应项目,您可以将这些项目合并到一个回购协议中。否则,最好将它们分开。

考虑安全性(谁应该访问代码)、可读性(是否有可能混淆未来用户的重叠名称)和使用(客户端的一个对应方是否需要访问过

由于您刚刚开始学习 GitHub,因此我将不讨论子模块的高级讨论。

一般惯例是将存储库视为等同于项目。与该项目相关的所有东西都应该放在同一个存储库中。

在您的情况下,它们都属于同一个存储库。可以使用的两种排序算法?理想情况下,你会在两者之间有某种代理,这样排序算法的实际 API/contract 用法就可以从你的应用程序中抽象出来,所以你在什么时候使用哪个并不重要。

正如我之前提到的,您可以合并子模块,这将允许您在同一个存储库中拥有多个项目,但这是在评估您的需求之后应该做的高级事情。

为了保持简单:这取决于你的项目有多大。

Google 的 Android 这样的大型项目几乎都有自己的存储库。他们还使用 git submodules,它们基本上是存储库中的存储库。

如果您在一个小团队中,通常没有什么反对只使用一个存储库的。但是想象一下,每次你想要拉取更改时,你都必须等到 1000 个贡献被加载;这将非常耗时。

所以在你的情况下 - 我猜 - 一个存储库

  1. 尽可能简单
  2. 完全够了

我建议考虑您的代码的哪些部分需要一起提交。如果代码一部分的更改需要与代码另一部分的更改同步,那么尽可能将它们保存在同一个存储库中会让生活变得更轻松。这尤其适用于依赖关系是双向的。

如果代码库的一部分中的更改可以完全独立于代码库的另一部分发生,那么您可以随意将代码的这些部分放在不同的存储库中。