Depending on version, GitLab uses one several storage types.

Legacy storage (default for GitLab < 10.0) type uses this naming scheme:


Since version 10.0 GitLab uses hashed storage with the following structure:


This hash is SHA-256 of the project ID. To find the project ID to to Setting > General:

Project settings

For example, in our case the project ID is “1”. So to find a hash of it run:

$ echo -n 1 | sha256sum 

Hence for our example the repository path is


If we were using Legacy Storage, the path for the example repository path would be:


where username is name of the user in GitLab (“root” for our example).