I have a server running Ubuntu where I installed a SVN server and integrated it with Apache. My users access their repository via HTTPS and I am able to configure which repo each user can access.

I would like to set up also a git server with the following features:

  • Access via SSH keys.
  • Possibility of selecting which repositories each user can access.
  • (Optional) web-interface for creating new repos.

I googled a little bit but I wasn't able to find a good tutorial that provides me all these features. In particular I didn't find how to set up the user rights.

How can I setup the git server?


I use gitolite for a private git server, it is easy to configure and fulfills your first two requirements. Source code and documentation for gitolite can be found here https://github.com/sitaramc/gitolite

As far as a web interface for creating new repos goes, you might be interested in learning more about GitlabHQ which is an open-source web application that aims to emulate github. This would provide you with a graphical interface to create new repos, change permissions, add SSH keys etc. GitlabHQ uses gitolite as their git-server as well. Documentation, source-code, and installation instructions can be found here http://gitlabhq.com/.


Check out Git Drive, https://itunes.apple.com/us/app/git-drive/id1215974700?ls=1&mt=8, You would be able to setup a Git server in minutes.

Git Drive is a system specially made for iOS, enabling Git version control software to be operated on mobile devices. With Git Drive, your iOS device becomes a perfectly functioning Git version control server in the palm of your hand. The Git Smart transfer protocol is fully implemented on this server, including transmission stability and speed.

Authorization of other users for repository access is under your complete control, and shallow updates and cloning operations for the repository are also supported.

Besides acting as a perfectly functioning Git version control server, the Git Drive software also acts as a powerful Git client, offering enough functionality for you to effectively manage changes to repositories and check up on any documents directly from the app.

Git Drive use iCloud as the backup storage for Git Drive; through iCloud, it can sync any repository updates across all devices.


  • Power Git Server supports Git Smart transfer protocol; supports access by 5-10 users at a time (using iPad will increase concurrent user accessibility).
  • Repository management; every repository update operation will be controlled by transaction; if the operation is interrupted, all data will be immediately rolled back, or automatically rolled back when Git Drive is re-started.
  • iCloud repository syncing; no need to worry about data loss, because all repositories are backed up on the cloud.
  • Graphical commit record; all branches are available at a glance.
  • High-speed syntax coloring engine; supports syntax coloring for over 100 programming languages; will be updated periodically.
  • This is not what OP is looking for - he wants to have his server on Ubuntu device. – styrofoam fly Jun 29 '17 at 9:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.