Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Advice on Git hosting: self-hosting vs. Github
9 points by cpher on May 31, 2012 | hide | past | favorite | 9 comments
We're a small team, roughly 10 people, of which 3 would be active developers using Git. The rest are analysts, managers, etc who likely would not use Git regularly.

Also, we're a mostly Microsoft/ESRI(GIS)/Flex/Javascript group within a heavily MS-based company. Before you ask, TFS is out, based on my experiences with Source Safe.

I've installed WebGitNet for basic Git repositories, but I'm wondering if a private Github corporate account would be better.

I'm sure others have faced this issue. What were your pain points, deciding factors, etc. when choosing a self-hosted git solution vs. Github for your company? Does Github provide enough storage for you? Are you concerned with locating all of your source with a third party, etc?

I'll also add that we're new to Git (coming from the horrid abomination of Source Safe, then nothing, now "something is needed").

I'm not worried about learning Git in general, rather my question is related to self-hosted vs. Github. I've already made the decision to go with Git as an SCM solution. I've installed the new GitHub Windows client but haven't tested it yet with a self-hosted solution. What are your experiences? Please include concerns about client code security, etc. Any advice is welcomed!



I would split it up like this.

Pros:

- You don't have to manage your own git server setup, certs, securing the server etc. (probably better uptime than your own server would have)

- Github's issue tracking and the wiki are usable

- You can use their pull request stuff, which might or might not be a good match for your workflow.

- You can also maintain public repos if you want to contribute at all to OS (though it's trivial to use github only for the public facing ones, just by adding a remote + auth)

- If you have a few repos it's very nice to browse them using github.

Cons:

- Limited number of repos, unless you are willing to fork out more $$

That's kind of it, the way I see it


Good points--thanks. I'm not sure how much we'd use Github's advanced features in the near-term. Basically, they would just serve as the master repo.

Yes, the number of repos is an issue for me. We have 20-30+ active projects, which may not result in large files, but when Github places limits on projects vs. space that becomes an issue.

We're a consulting company, so we have lots of projects, many with repeat customers (hopefully). I'm stuck deciding on banking our SCM with a third party vs. self-hosting with no limits. Projects are usually short-lived (1-2 months) but we want to maintain a good archive of what we've done for future projects.


Alternatively, you can check out Atlassian's Bitbucket services. May be less pricey than Github's premium offering.


The problem with self-hosting is one of managing the servers. When you are a small team the effort is just not worth it. Yes, there are risks when you give your code to someone else, but hopefully a company whose job is to host source repositories will take enough precautions.

Note, you can host GitHub within your company, but again - it is usually not worth it unless you are a larger company.


I've deployed Git on a server in our DMZ for testing. So, it's possibly accessible from external IPs, but in reality we're using it via a VPN connection, so it's mostly internal. I haven't locked down the security yet. My idea is to create an internal git server that is freely accessible when connected via VPN or secure HTTPS (when not on VPN).

From what I've read, the self-hosted GitHub is far beyond our budget. We already have VM servers available. It's just a matter of choosing an appropriate self-hosted solution (e.g. WebGitNet, etc) vs. a more established and polished GitHub solution.


You can try Bitbucket (https://bitbucket.org/). For 10 users they have pretty good pricing of $10/per month.

edit : I missed that only 3 team members will be using git. In that case you can have unlimited private repository for free.


Thanks, I'll take a look at that.


If you host your own Git repo(s), make sure you have someone on your team that can stop what they're doing at the drop of a dime and fix/tweak the server hosting the repo(s). Hosting it yourself, it will be 100% someone on your teams responsibility.

With Github (which is what we use). It's just there. It works perfectly. We get all the tools that come along with working on GH. We haven't seen one uptime issue since we started with them. They have an entire team to make sure everything is working properly, you do not.


Stick with the private git hosting until you see a need to do otherwise. Maintaining your own repo with gitolite or something similar is drop-dead simple. Why mess with GitHub when you don't even know why you need it?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: