如何对GitHub中的小项目进行组织和分类?

How to organize and categorize small projects in GitHub?

我是开发新手,正在尝试将我参与过的小项目上传到我的 GitHub 个人资料中。这些项目互不依赖。

我的问题是其中一些是小型单文件项目。有点像我已经解决的小挑战。因此,我正在考虑将它们组合在一个名为 "Python programming" 的回购协议下。

这是一个好习惯吗?

通常,您会看到存储库的顶层包含自述文件,可能是 setup.py 和其他一些无关信息,也可能是 tests 文件夹。然后会有一个与 repo 共享名称的文件夹。该文件夹内的代码旨在成为 module/package/script.

的核心内容

看到不同的组织也很常见,特别是对于非常小的单文件脚本项目。

具体你说的情况,你想怎么弄就怎么弄。你的提议对我来说听起来完全合理。我不想为我解决的所有挑战创建一个单独的回购协议!

我通常使用 gist 来处理我不一定要为其创建回购协议的琐碎项目,包括编码挑战。所以我会提供它作为替代方案。做最适合自己的事。

GitHub 将为您访问的每个文件夹呈现一个 README 文件,因此当仅使用单个存储库时,一种解决方案仍然是为每个“子项目”创建一个子文件夹,这样可以拥有它自己的自述文件。

但在走那条路之前,您应该考虑一下这些小项目是否真的属于一起。这最终应该决定您是要将它们全部放在同一个存储库中还是要将其拆分为多个存储库。

该决定需要考虑的一些事项:

  • 如果项目不依赖于另一个,它们是否仍然与另一个相关?例如,这些项目是否是像 Project Euler 这样更大的编程挑战的一部分,而您只是在收集所有解决方案?那么单个存储库可能更有意义。
  • 单个项目成长为更大项目的机会有多大?许多事情开始时都很小,但最终会发展成真实的东西,证明他们自己的存储库是合理的。到那时,您甚至可以让其他人做出贡献。
  • 那些单独的文件共享历史是否有意义?一旦“完成”,文件是否还要进行编辑? IE。这只是成品的集合,还是实际上正在进行的实验?

最终,这取决于您的个人选择。但是 GitHub 作为存储库托管方,不应影响您的决定。您应该在本地创建 Git 个存储库,因为这对您有意义。如果这意味着您只有一个,那很好。如果这意味着你创建了很多,那也没关系。

不幸的是,GitHub UI 并不是真正为小型一次性项目而设计的。存储库列表只是为了无组织。如果您决定使用小型项目,我建议您在 GitHub 配置文件中添加一些分类前缀,这样您就知道这是什么了。

一次性项目的一个很好的选择,特别是当它只是一个(或几个)文件时 Gists。 Gist 是作为一种共享代码片段的方式而诞生的,但在幕后,每个 Gist 实际上都是一个完整的 Git 存储库。当然,Gists 不提供 GitHub 上普通存储库所具有的工具(例如问题、拉取请求、wiki)。但对于你所描述的,你可能不需要这些。然后,Gists 是一种很好的方式来共享简单的东西,而无需将完整的存储库添加到您的个人资料中。你仍然可以克隆它们(远程 URL 是 git@gist.github.com:/<gist-id>.git)并且如果你需要的话,有完整的历史记录和对多个文件的支持。