How do I give all GitLab users access to all repositories without making the repos public?

We’re a small team (about 20 people) and I want to give everyone access to all the repositories but without making them public.

Is there a way to make all repositories accessible to every user without making them public? Or so they could at least see/browse all the repos?

  • Conditional Gitignore
  • Merge multiple git repositories into one, keeping branches history
  • Remove or edit an unpushed Git tag
  • Git: Checkout certain commit: “detached head” state
  • Project setup advice with Rstudio, make and git needed
  • How to create a CocoaPod with nested git submodules?
  • So far my approach was to create a team called “Everyone” and just add it to all the repos manually. But I wish this could happen automatically and without everyone appearing as the team.

    Any ideas highly appreciated.

  • How to sync with a remote Git repository?
  • git: find largest commit(s)
  • pull and replace the file that is existing
  • How can I remove files from a Git repo in NetBeans?
  • Git clone with username password authentication in one go
  • How to permanently delete a file stored in GIT?
  • 2 Solutions collect form web for “How do I give all GitLab users access to all repositories without making the repos public?”

    Add all users to all projects


    ■ admin users are added as masters

    bundle exec rake gitlab:import:all_users_to_all_projects

    Take a look at the redbook and find the section titled “Enforcing a User-Based ACL System” – it describes how to set up your repository permissions based on just 2 text files per repository – these can be copied between repositories or on Unix/Linux servers could be just 2 files with softlinks in each repository – they you would only have 1 file the users file to edit and not even need to copy it. You may have to enforce a similar repository structure to each repository but that is often good practice anyway.

    The alternatives for a gitlab only solution look like:

    1. Adding all your users to a “Browse” group with limited permissions
      and adding that group to all the repositories, (this could be updated
      as necessary using a python script and the python gitlab api),
    2. I am reasonably sure that you can start gitlab running on a
      specified, possibly non-standard port, make all the repositories
      public but set your network policy up so that only local, or a
      specified range of, IP addresses can connect to that port. This
      would make it public only within the organisation but as to how to
      do it I would suggest a separate question over on Super User as
      it is much more a system admin question than a programming one.
    Git Baby is a git and github fan, let's start git clone.