

Ask HN: Advice on Git hosting: self-hosting vs. Github - cpher

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.<p>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.<p>I've installed WebGitNet for basic Git repositories, but I'm wondering if a private Github corporate account would be better.<p>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?<p>I'll also add that we're new to Git (coming from the horrid abomination of Source Safe, then nothing, now "something is needed").<p>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!
======
arnorhs
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

~~~
cpher
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.

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

------
vineet
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.

~~~
cpher
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.

------
rtcoms
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.

~~~
cpher
Thanks, I'll take a look at that.

------
brandoncordell
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.

------
crusso
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?

