Git, GitHub And Beyond

Git is an amazing source code management tool, and it becomes great when a third party provides an intuitive and hassel free manner (Yes, Linus Torvalds may not agree on few points) to browse through your code, collaborate and open source it. Recently, before the story of GitHub loosing the traction began, I had already started exploring ways to host source code as private repository (repos).

Having private self-hosted repos is a good development approach, but problem occurs when one is trying to share or colloborate, and then slowly managing everything becomes painful, and this is where companies like GitHub has done an amazing work. Still there are few issues with GitHub and the basic one (and many more) is their pricing model when it comes to private repositories.


Image Courtesy Git

As an alternate to GitHub, I am listing out various ways to host private repos using Git:

  • Bare Metal on VPS:
    • This is the simplest way to host private repos, where you create a Linux VPS, install Git, and then set up private repo.
    • You can make use of open source web clients like GitWeb to browse through different branches.
    • It should work fine if you don’t worry much about having clean GUI.
    • You can also install a Git client to browse through your code locally.
  • Host It On GitHub:
    • This is the most obvious and easiest way to go about building your software.
    • Only caveat as I said is pricing and number of private repository.
    • Without thinking much, go for GitHub if your project is open source, as it has excellent reach to developer community .
    • You can host GitHub on your private server, but only if you are an enterprise with heavy balance.
  • Try Out BitBucket:
    • BitBucket follows the same model as GitHub, but focuses more on getting user to build privately.
    • Their pricing model is excellent, which focuses more on number of users rather than cap on private repository.
    • You can also grab their BitBucket Server web app, and install it on your private servers, and if you like it , then buy it out for your small team later on.
    • It’s very resonable and just takes minutes to get going if you are behind firewall.
  • GitHub Clone GitLab:
    • GitLab provides another way to host and manage your source code. It combines the best of both GitHub and BitBucket.
    • First, you can host as many repository as possible with a GUI like GitHub.
    • Second, take their open source Git management software and install it on your server for free.
    • Lastly, you can just sign up with them and host privately on their cloud without any hassel.
    • Since they are fairly new to this arena, it will be better to try it out first before jumping on to installation.

Overall, one has many ways to manage code privately, no doubt GitHub is the best place when it comes to hosting open source project, but it fails in terms of developing privately. Hope, above options will guide you on what to choose depending upon the requirements.

Hi, I’m Chetan Arvind Patil, I write this blog