218

我是 git 新手,我现在正在做的是将我最近的所有项目作为存储库上传到 github。有很多不同的项目,如网页设计、wordpress 主题和不同类型的应用程序。其中一些也属于更大的项目,因为它们是将一些东西作为不同的应用程序进行测试。

问题是我现在在线上有大量令人困惑的存储库。如何将相关的 github 存储库分组到一个文件夹结构中?是否有任何功能可以在 github 上订购和构建甚至标记存储库?

4

7 回答 7

109

2021 年 12 月更新:

列表现在可作为公开测试版使用

列表通过让您在 GitHub 上轻松组织和管理您最喜欢的存储库来提升星级体验。

您可以在https://github.com/USERNAME?tab=stars创建出现在您的星星页面上的公共列表。

列表可供除企业管理用户之外的所有人使用。

https://i0.wp.com/user-images.githubusercontent.com/6895176/145467599-0b91cecd-872e-4ca1-bc86-16df076da29d.png?ssl=1


原答案:

在 GitHub 本身上,您不能按“文件夹”对您的存储库进行分组,除非您创建了organizations
例如,请参阅SublimeText,作为所有 sublimeText 包 repos 的一组。

但这不支持嵌套文件夹组织。目前(2017 年 6 月),它仅支持嵌套的团队组织结构


2020 年 8 月更新:README 项目允许您添加个人资料页面......您可以在其中以任何您想要的方式列出和组织您的存储库。但这是一个手动过程(编辑页面)。


2019 年 2 月更新:您现在有了项目的概念:
请参阅“用户拥有的项目——您的个人工作区

您还可以将最多 5 个存储库链接到您的项目板。链接存储库会将搜索范围限制为那些链接存储库,因此您可以快速缩小尚未添加到项目板的任何新问题

https://i0.wp.com/user-images.githubusercontent.com/3477155/52346373-734e2580-29ed-11e9-82ad-9e5f1ab8aa99.gif?resize=1024%2C512&ssl=1

GitHub 现在也支持标签(以主题的形式)。


2012年原始答案:

另一种解决方案是让您定义引用其他存储库的存储库,声明为submodules

这样,当您克隆其中一个存储库(引用其他存储库)时,称为“父存储库”,它们将被克隆到自己的目录中,每个子模块都有一个子目录。

它在您的 GitHub 帐户本身上不会明显可见(因为它仍然包含大量存储库,甚至与父存储库相比更大),但是通过克隆一个父存储库,您将在其中取回其所有关联的子模块。


AnneTheAgile在 2014 年的评论中提到的问题 302现在只是引用(2018 年 11 月)tbnorth/github_repo_tags

此存储库中的小型 python 程序使用 GitHub API 获取您的存储库列表。并将它们的名称、描述和 URL 添加到新的存储库中,默认情况下称为 repo_tags。最初,每个“问题”都被标记为未分类,但您可以使用常规问题标记随意标记它们。

重新运行时,repo_tags.py只会为 repos 创建问题。问题尚未涵盖的内容。

于 2012-08-08T06:44:12.293 回答
13

我使用组织来安排回购。这允许清晰的描述和清晰的组织,如果需要,可以共享。例如:

我的组织

  • Jmr-iOS(iOS 存储库)
  • Jmr-Work(工作回购)
  • 用户帐户(Pers repos)

所有组织存储库都是公共的,但除非您升级到企业云帐户(25 美元/月),否则从 2020 年 9 月起,您可以在组织下拥有无限的公共/私有存储库。(请参阅此处的选项)

于 2017-11-18T17:40:39.213 回答
5

这与其说是一个答案,不如说是一个提醒。

由于以下为用户发布的免费私人回购公告,最近使用组织构建的一个副作用已经曝光:https ://blog.github.com/2019-01-07-new-year-new-github/

组织私人回购仍然不是免费的。因此,如果您需要,使用组织来分离存储库将导致您的组织无法使用免费的私有存储库。

于 2019-01-08T11:27:41.237 回答
4

模拟文件夹的一种可能方法是将逗号分隔的标签附加到存储库描述的末尾。然后,您可以通过这些标签搜索存储库,因为 GitHub 的“查找存储库...”过滤器会在存储库描述中查找!一个例子:

MyRepo:做一些很酷的事情[计算机视觉、机器学习、python]

于 2019-02-08T20:43:51.170 回答
2

对于初学者,您现在可以在 GitHub 中以主题的形式标记 repos。耶!

但我不认为它解决了更大的问题。为此,我尝试了一个顶级文件夹系统(其中每个项目都是一个存储库中的一个文件夹)。我还尝试了每个项目系统一个分支(每个项目都在一个新分支中)。最后一个也允许您单独拉动和推动每个项目!但是,两者都不是理想的。

您还可以查看其他版本控制系统,例如subversionmercurial。如果需要,Mercurial 也可以托管在Bitbucket上,Facebook 甚至正在研究对“多项目存储库”的支持。

我个人喜欢https://hg.openjdk.java.net/(或http://hg.netbeans.org/)的系统,在那里你有一个文件夹设置,每个项目都托管在端点上。实现这一目标的最佳方法是使用您的项目结构(如https://mvnrepository.com/https://www.npmjs.com/ )创建一个网站(您可以在 GitHub 中执行此操作)。

于 2019-02-10T01:22:55.300 回答
0

项目方法的缺点包括:

  1. 存储库所在的项目(即“文件夹”)通常不可见,例如在主页或您的个人资料中。要使其在这些地方可见,需要在 repo 的名称中添加一个手动标记,例如 @peter554 建议的那样。但是随后更改“文件夹”(即项目)需要同时更改项目和 repo 名称中的手动标记。
  2. 您不能将分叉添加到项目中。

组织方法不存在这些问题。然而:

  • 您的“文件夹”存储库将从您的帐户资料页面中消失。但是,组织可以通过成为公共成员在那里可见。(可以在组织内的“人员”下设置)

注意:随着 Github 的进一步发展,这些事情可能会发生变化。

于 2020-09-28T23:13:21.167 回答
0

所以确认Github中没有文件夹功能。

我认为要组织存储库,您可以有两种方法。

  • 使用文件系统,每个文件引用一个存储库,它们只是一个到 GitHub 的链接,将它们放在以文件夹名称为类别的文件夹中(python 脚本可以生成所有文件,你可以拖放)

  • 使用有向图进行组织(没有现有工具,您需要构建一个 Web 或桌面应用程序来做到这一点,我正在编写代码)

    • 这
于 2021-08-27T03:39:38.813 回答