Graphical Gitolite on ubuntu server
The easiest solution, in term of setup, and authorization management, is gitea.
See https://gitea.io/en-us/
All you need is the gitea executable, and a database like PostgreSQL.
The result is a GitHub-like experience.
Git Permissions per repo http
"Yes" on all questions. Nothing is changed. Hint: GitLab-on-premise is the most advanced solution but also very heavy. There are many simpler, lighter tools.
Let me copy my old answer from https://stackoverflow.com/a/44246093/7976758 :
You can do ssh + gitolite. No web interface, just pure git. For web interface use gitweb or cgit.
Or Klaus — a WSGI server with both web interface and git smart HTTP transport.
Kallithea.
pagure
http://gitprep.yukikimoto.com/
https://gogs.io/
https://gitbucket.github.io/gitbucket-news/about/
https://rocketgit.com/
Give access to one git repository for specific user
git
doesn't have builtin authentication, you need additional tools. For SSH the tool is gitolite. You can configure fine-grained access control.
You can also install web-based development environments, see a partial list at Free GIT Server with Web GUI a la BitBucket/GitHub.
Related Topics
The Difference Between Fork(), Vfork(), Exec() and Clone()
Redirect Stderr/Stdout of a Process After It's Been Started, Using Command Line
How to Preserve Quotes in Printing a Bash Script'S Arguments
Using Awk to Print All Columns from the Nth to the Last
Use of Floating Point in the Linux Kernel
How to Get Docker Linux Container Information from Within the Container Itself
How to Generate New Variable Names on the Fly in a Shell Script
How to Get the Total Cpu Usage of an Application from /Proc/Pid/Stat
Have Bash Script Answer Interactive Prompts
Get Destination Address of a Received Udp Packet
How to Set Environment Variable For Everyone Under My Linux System
Split One File into Multiple Files Based on Delimiter
Is There Any API For Determining the Physical Address from Virtual Address in Linux
How to Set the Working Directory of the Parent Process
Run a Shell Command When a File Is Added