git-fs, all of GitHub becomes just a directory on your system:
- Want to learn more about Linux? —
ls /git-fs/github/torvalds/linux - Where does FastAPI do serialization? —
grep -ir 'serialize' /git-fs/github/fastapi/fastapi - How does GNOME interact with X11? —
grep -ir 'x11' /git-fs/gitlab/GNOME/gnome-shell
We are working towards supporting writes, esp. with a focus on automatic session management, so you don’t have to touch
git worktree ever again. Stay tuned for updates!Installing
- Linux
- macOS
- From Source
.deb and .rpm packages published on our releases
page.Other Systems
Other Systems
For other distros,
install.sh will ask you whether you want to proceed,
but you will need to install fuse and libssl1.1 dependencies manually.If your repo isn’t supported by install.sh and you would like support, please file a new
issue.Getting Started
The absolute easiest way to get started is to rungit-fs:
git-fs will ask you for the initial configuration, and will store that for future use.
Run ls ~/.local/share/git-fs/mnt/github/daytonaio/daytona check out the
Daytona source. When you’re done, hit CTRL+C and git-fs will clean up after
itself.
You cannot
ls the whole github directory. There are at millions of github repos so calling ls mnt/github would
cause your system to grind to a halt!That’s why, if you run ls ~/.local/share/git-fs/mnt/github, you will see a “Permission denied” error. You must
always specify which repo you want to read, like so:Connecting with Mesa
To get access to your Mesa Repos, you need to configure your API key in the configuration file. After your API key is provided, run:Configuration
git-fs is configured through a config file. The configuration file is searched for in:
$XDG_CONFIG_HOME/git-fs/config.toml(highest priority, Linux only).$HOME/.config/git-fs/config.toml/etc/git-fs/config.toml(lowest priority),
Environment variable overrides
All configuration values can be overridden withGIT_FS_-prefixed environment variables:
Daemon-mode
You can rungit-fs in daemon mode. This will cause it to jump into the background and leave you alone. Note that
logs will go nowhere (we’re working on it).
Known Issues
git-fsdoes not currently support repos of which the branch name is notmain.

