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

Posted

技术标签:

【中文标题】如何对 GitHub 中的小项目进行组织和分类?【英文标题】:How to organize and categorize small projects in GitHub? 【发布时间】:2017-05-06 07:15:22 【问题描述】:

我是开发新手,正在尝试将我从事的小型项目上传到我的 GitHub 个人资料。这些项目不相互依赖。

我的问题是其中一些是小型单文件项目。有点像我已经解决的小挑战。因此,例如,我正在考虑将它们组合在一个名为“Python 编程”的存储库中。

这是一个好习惯吗?

如果是,我应该如何在 Git 中进行处理,以及 我怎样才能仍然为每个迷你项目显示一个 README 文件。

如果没有,你会建议做什么?

【问题讨论】:

Repo 可以是您需要的任何东西,供您个人使用。将它们分成文件夹,每一个都随自述文件提供(例如,您可以将它们与 Gulp 合并)。团队或合作者可以根据自己的喜好将其变形。那里没有硬性规定。 【参考方案1】:

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

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

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

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

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

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

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

【讨论】:

我实际上是一名机械工程师,一年前决定自学软件开发。现在我正在找工作,我的朋友们建议我将所有项目作为投资组合放在 GitHub 上。因此,组织较小的项目令人头疼。但是你的回答让我明白了很多。干杯!【参考方案2】:

通常,您会看到 repo 的顶层包含 README 文件,可能是 setup.py 和一些其他无关信息,也可能是 tests 文件夹。然后会有一个与 repo 共享名称的文件夹。该文件夹内是作为模块/包/脚本核心内容的代码。

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

对于你提到的具体情况,随心所欲。你的提议在我看来完全合理。我不想为我解决的所有挑战有一个单独的回购!

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

【讨论】:

以上是关于如何对 GitHub 中的小项目进行组织和分类?的主要内容,如果未能解决你的问题,请参考以下文章

如何对 FLTK 中的小部件进行排序以使箭头键导航正常工作?

又更新,附近的小程序小程序后台功能升级!

资源分享编程初学者如何在GitHub寻找适合自己的小项目?

如何在python中对没有标题的大型csv信号文件进行分类?

如何对访问 Provider.of(context) 的小部件进行 Flutter 测试

练手项目总结构建一个集阅读和电影资讯为一体的小程序