Learn Version Control with Git
A step-by-step course for the complete beginner
Code Hosting Services
Hosting your code becomes an important topic as soon as you want to start sharing it – and be it only with yourself on another machine. There are basically two different flavors of code hosting: do-it-yourself and leave-me-in-peace.
Hosting a Git repository on your own server has a lot of advantages:
- It saves money you’d have to spend on code hosting services.
- It keeps your code in-house.
- And it generally gives you all the freedom in the world.
But, of course, this also comes with some drawbacks:
- YOU are responsible for ensuring high availability / up-time of the server.
- YOU are responsible for making backups (that really, really work).
- YOU are responsible for keeping an eye on security and software updates.
In the end, the hard part about hosting code is not the management of the Git repositories. It’s the management and maintenance of the server. Don’t get me wrong: the bottom line is NOT “stop hosting code yourself and use a code hosting service”. The bottom line is “be aware of what hosting your code yourself really means”.
If you have enough expertise doing this yourself and if you’re willing to invest the time, hosting your repositories on your own server is perfect for you!
For most people, their core competence is not server maintenance. While a lot of people theoretically have the knowledge to do it themselves, they're often not proficient enough for this to make sense.
By now, there are dozens of specialized service providers available that do all the server management, backup, and security stuff for you. We've compiled a short list of some of them to give you a quick overview.
GitHub is the most popular code hosting service in the Git world. Especially for OpenSource projects, GitHub is the go-to platform.
GitLab offers a fast-evolving platform for code collaboration. The free community edition and the enterprise edition can be installed on your own servers; a hosted offering that runs on GitLab.com is also available.
Microsoft Visual Studio Team Services www.visualstudio.com
Not limited to Microsoft technologies, "Visual Studio Team Services" offers an open platform for any development stack. In addition to code hosting, the platform includes its own Continuous Integration service and agile planning tools for Scrum and Kanban teams.
Besides Git repositories, Bitbucket also offers hosting for the Mercurial VCS. It has a similar feature set as the GitHub platform, although it's not as popular in the OpenSource space.
Beanstalk offers hosting not only for Git repositories, but also for Subversion projects. Being a very lean and reliable service, Beanstalk is a great choice for businesses.
Plan.io offers a complete project management platform. In addition to code hosting (Git and Subversion), it also provides you with modules for task management, customer helpdesk, and even integrated Wikis.