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

问题是我现在有一个令人困惑的在线存储库的数量。我如何在一个文件夹结构组相关的github存储库?在github上是否有一个功能提供任何排序和结构甚至标签存储库的能力?


当前回答

2021年12月更新:

列表现在可以作为公测版本使用

通过在GitHub上轻松组织和管理您最喜欢的存储库,列表提升了主演体验。 你可以在https://github.com/USERNAME?tab=stars的明星页面上创建公开列表。 除了企业管理的用户,所有人都可以使用列表。

然而(2022年6月),正如Wyck在GitHub社区Issue #4174:支持存储库类别中所说明的那样,表示仍然缺乏:

如果我点击主题按钮,它会显示所有标有相同主题关键字的公共回购列表。 相反,我更希望有一种方法只查看我的组织中标记有该主题的回购。 我还希望看到在我的私人组织内的任何回购上标记的所有主题的顶级列表,以作为我的组织中的回购的顶级目录或目录。


最初的回答:

在GitHub本身,你不能按“文件夹”分组你的回购,除非你创建组织。 例如,请参阅SublimeText,作为所有SublimeText包的集合。

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


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


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

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

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


2012年的原始答案:

另一种解决方案是定义引用其他repo的存储库,声明为子模块。

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

它不会在你的GitHub帐户本身(因为它仍然包含一个很大的回购列表,甚至更大的父回购),但通过克隆一个父回购,你将得到它所有相关的子模块。


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

这个存储库中的小python程序使用GitHub API来获取你的回购列表。并将他们的名称、描述和URL添加到一个新的repo中。,默认名为repo_tags。最初每个“问题”都被标记为未分类,但您可以使用常规的问题标记来标记它们。 当重新运行时,repo_tags.py只会为repos创建问题。这些问题还没有被解决。

其他回答

2021年12月更新:

列表现在可以作为公测版本使用

通过在GitHub上轻松组织和管理您最喜欢的存储库,列表提升了主演体验。 你可以在https://github.com/USERNAME?tab=stars的明星页面上创建公开列表。 除了企业管理的用户,所有人都可以使用列表。

然而(2022年6月),正如Wyck在GitHub社区Issue #4174:支持存储库类别中所说明的那样,表示仍然缺乏:

如果我点击主题按钮,它会显示所有标有相同主题关键字的公共回购列表。 相反,我更希望有一种方法只查看我的组织中标记有该主题的回购。 我还希望看到在我的私人组织内的任何回购上标记的所有主题的顶级列表,以作为我的组织中的回购的顶级目录或目录。


最初的回答:

在GitHub本身,你不能按“文件夹”分组你的回购,除非你创建组织。 例如,请参阅SublimeText,作为所有SublimeText包的集合。

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


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


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

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

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


2012年的原始答案:

另一种解决方案是定义引用其他repo的存储库,声明为子模块。

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

它不会在你的GitHub帐户本身(因为它仍然包含一个很大的回购列表,甚至更大的父回购),但通过克隆一个父回购,你将得到它所有相关的子模块。


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

这个存储库中的小python程序使用GitHub API来获取你的回购列表。并将他们的名称、描述和URL添加到一个新的repo中。,默认名为repo_tags。最初每个“问题”都被标记为未分类,但您可以使用常规的问题标记来标记它们。 当重新运行时,repo_tags.py只会为repos创建问题。这些问题还没有被解决。

模拟文件夹的一种可能方法是在repo描述的末尾附加逗号分隔的标记。然后你可以通过这些标签搜索repo,因为GitHub 'Find a repository…'过滤器看起来在回购描述!一个例子:

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

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

我的组织

Jmr-iOS (iOS回购) Jmr-Work(工作回购) 用户会计(人事及回购)

所有组织回购都是公共的,除非你升级到企业云帐户(25美元/月)。截至2020年9月,你可以在一个组织下拥有无限的公共/私有存储库。(见这里的选项)

项目方法的缺点包括:

项目(即“文件夹”)则不是回购所在的文件夹 通常可见,例如在主页或个人资料。要使这些地方可见,需要在回购的名称中添加手动标记,例如 比如@peter554。但是更改“文件夹”(即项目)需要 更改回购名称中的项目和手动标记。 不能向项目中添加分叉。

联合国的办法没有这些问题。然而:

您的“文件夹”回购将从您的帐户个人资料页面消失。但组织可以通过成为公众成员而在那里可见。(可以在组织内的“人员”下设置)

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

git repo和git repo表示它们所属业务域的服务。因此,团队拥有这些回购是有道理的。您可以创建一个团队,并添加该团队拥有的回购。使用团队的概念也可以更好地管理访问。

这个想法的灵感来自Team Topology