Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I arrange repositories into folders on Github?

People also ask

Can we create folder in repository?

To create a new folder in a repository click “create a new file.” Type your new folder's name in the area where you would write the file name, and at the end of the file name type a “/” to initilize it as a folder. After this you can create a new file in the folder.


Update Dec. 2021:

Lists are now available as a public beta

Lists level up the starring experience by making it easy to organize and curate your favorite repositories on GitHub.

You can create public lists that appear on your stars page at https://github.com/USERNAME?tab=stars.

Lists are available to everyone except enterprise managed users.

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


Original answer:

On GitHub itself, you cannot group your repos by "folder", unless you create organizations.
See SublimeText, for instance, as a group of all sublimeText packages repos.

But that won't support a nested folder organization. For now (June 2017), that only supports a nested team organization structure.


Update Aug. 2020: the README project allows you to add a profile page... in which you can list and organize your repositories any way you want. But that is a manual process (editing the page).


Update February 2019: you now have the concept of project:
See "User owned projects—your personal workspace "

You can also link up to 5 repositories to your project board. Linking repositories will limit the scope of the search to those linked repositories, so you can quickly narrow down any new issues you haven’t yet added to the project board

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

GitHub also supports tags now (in the form of topics).


Original answers 2012:

Another solution is for you to define repositories which reference other repos, declared as submodules.

That way, when you are cloning one of the repos (which references other repos), called "parent repos", they will be cloned in their own directory, with a sub-directory per submodules.

It won't be visually apparent on your GitHub account itself (as it will still contains a large list of repos, even larger with the parent repos), but by cloning one parent repo, you will get back all its associated submodules in it.


The issue 302 mentioned in the comments by AnneTheAgile in 2014 just references now (Nov. 2018) tbnorth/github_repo_tags

The small python program in this repository uses the GitHub API to get a list of your repos. and add their name, description, and URL, to a new repo., by default called repo_tags. Initially each “issue” is tagged unclassified, but you can tag them as you please, using regular issue tagging.

When re-run, repo_tags.py only creates issues for repos. that weren't already covered by an issue.


I use Organizations to arrange repos. This allows for clean delineation and clear organization, ripe for sharing if needed. For example:

My Organizations

  • Jmr-iOS (iOS repos)
  • Jmr-Work (Work repos)
  • User Acct (Pers repos)

All organization repos are public though unless you upgrade to an Enterprise Cloud account ($25/mo) As of September 2020 you can have unlimited public/private repositories under an Organization. (see options here)


This is not an answer so much as a heads up.

One recent side effect of structuring utilizing organizations has come to light due to the following announcement of free private repos for users: https://blog.github.com/2019-01-07-new-year-new-github/

Organization private repos are still not free. So using organizations to separate repos will result in your organization's inability to utilize free private repos, if that's something you need.


One possible way to simulate folders is by appending comma-separated tags to the end of your repo description. You can then search for repos by these tags, since the GitHub 'Find a repository...' filter looks in the repo description! An example:

MyRepo: Does some cool stuff [computer-vision, machine-learning, python]