Structuring repositories or organisations

We are an organisation with multiple teams and more than 300 repositories. Since our organisation has some clear boundaries between multiple products, it would make sense to have a GitHub organisation for each of them. Yet, projects don’t map 1:1 to teams or people working on those projects, so we need to add some people to multiple organisations. In consequence, we’re paying multiple times for some people.

We’re aware of the Teams feature to group several people, but we would like to group repositories. To add a bit of complexity: some repositories are shared, so on top of product-specific organisations with specific repositories, we also need a common or shared organisation for some repositories - along with the people working on them.

I’ve already mentioned the monetary aspect behind our issue, so the question is: how can we achieve some kind of repository “grouping” without paying for multiple people having a seat in multiple organisations? Some kind of parent/child structure would suffice for us, with the parent or root organisation being the central place to manage seats and billing (or with the child organisations delegating billing to their parent organisations).

Maybe we haven’t found an existing feature, yet. If so, please give us a hint. Otherwise: can you tell if something like described would make sense for GitHub? We assume that we’re not the first ones with such a request. Maybe others can describe how they apply their organisational structure to GitHub.

9 Likes

This sounds like exactly the kind of situation that nested teams was intended to support. If all of your repositories were in one organization, then you wouldn’t have to pay multiple times for the same member because they would only exist in one organization. Then you could have a top-level team for each product and potentially sub-teams underneath those … or perhaps the “shared” team goes on top and then products go in the sub-teams. I’m pretty confident that teams with the nested teams support should be able to cover whatever Venn diagram you have for your organization. And people can belong to as many teams as needed within an organization.

I hope that helps!

Thanks for the hint about nested teams.

We would still not only like to structure people, but repositories, too. Because with all repositories in a single organisation, we would always initially see “everything” before navigating to each team’s repositories. We wish for easier _initial_ filtering, just like a dedicated organisation allows us to do. Having all repositories in a single organisation also forces us to introduce prefixes in repository names, like some kind of namespacing according to our teams.

So, structuring teams doesn’t seem to be enough for us.

4 Likes

For that purpose, you could use the repository topics feature to tag repositories as belonging to particular projects, teams, both, or whatever other system you need to categorize them. This allows you to easily find the repositories that belong to a subset of your organization. It is true that you’ll still get the full list when you go to https://github.com/your-org-name … but you can always bookmark a search like I did above.

Yes, we already gave topics a try, but they still felt less convenient and they won’t fix the aspect of potential conflicting repository names. Sounds like there isn’t any existing way to address our wishes, yet. Would you think introducing some kind of cross-organisation management is possible or realistic?

3 Likes

You may want to reach out to GitHub Support and see if GitHub Enterprise might be a better solution for you in that case? If you’re really looking for cross-org management, I would think that would be your best bet. But the private support team would have more details.

In any case, I’ll give this feedback to the team responsible for this feature area. I can’t comment on future plans or ETAs, but they’ll be able to refer back to everything you’ve told us :+1:

Great, I’ll follow your advice to contact the support team. Thanks for your insights and hints!

1 Like

@lee-dohm, is there any update or plans to address this issue? Like the @gesellix, we have more than 500 repos now, and having some organization would help. I know about the topics feature, but bookmarking a search filter seems to be a bandaid solution.

Perhaps something like this solution? https://confluence.atlassian.com/bitbucket/projects-792497956.html, it’s a way to organize repos without creating a new organization.

Probably GitLab Subgroups is the needed feature, but currently there is no such thing in GitHub https://docs.gitlab.com/ee/user/group/subgroups/

2 Likes

@lee-dohm, do you have any update on this?

As described by @gesellix, there seems to be no way to group repositories rather than people in Github. Obviously, this would a rather important feature for many organisations with a broad range of projects and thus repositories. A good example for such an organisation would be a university where it would be necessary to group repositories e.g. for each faculty or school.

As mentioned by others, this is a feature that other code hosting platforms provide, see e.g.:

Gitlab: https://docs.gitlab.com/ee/user/group/subgroups/

Bitbucket: https://confluence.atlassian.com/bitbucket/group-repositories-into-projects-792497956.html

Rather surprising that Github doesn’t have such an elemental feature.

3 Likes

As I stated above, you may want to take a look at GitHub Enterprise. That’s our solution for large organizations that have a daunting number of repos that might need to be grouped into categories.

I hope that helps!

Thanks for your reply @lee-dohm. Unfortunately, this does not help.

It might be that I understand our current GitHub plan incorrectly, but I believe we are already on the GitHub Enterprise plan (at least we have several other features exclusive to the GitHub Enterprise plan enabled) - yet there is no option to group repositories rather than people. Also, I was not able to find this feature anywhere listed in your feature comparison.

Could you please point me to the location where you describe this feature or how to enable this for our organisation.

If you’re on the GitHub Enterprise plan, then it’s my understanding that you can create multiple GitHub organizations to group repositories under. But your sales associate would be the best person to help you with the full details of the GitHub Enterprise feature set.

2 Likes