25

Git is an excellent version control system. If we exclude the fact that, it doesn't have an excellent GUI support, it's really good and fast. But the source controls like Clearcase has large support for enterprise customers. Companies are investing huge amount for source control servers and licesense.

Of late most of the large companies like Google are adopting Git over other version control system. But this company has a strong open source group which consistently provide development and support for the tool (They might even have a custom version of Git of their own). At the same time, large companies are not really bothering about adopting open source projects and making them relevant to them.

  • Is Git really a reliable tool for enterprise environment, especially on Windows Platform?
  • The support is in question for Git as it's an open source product.
  • Are there any company that provides solutions and support? How are the server costs compared to other version controls like Clear-case?
9
  • 2
    I'm not aware that Google have adopted git, my understanding is that they opted for Mercurial. And you'll have to convince me about other large companies too - have you got any examples?
    – Benjol
    Jul 29, 2011 at 7:10
  • 4
    Has great GUI support. Just choose a good operating system.
    – user1249
    Jul 29, 2011 at 8:04
  • 2
    @Benjol - This thread could give you some insights. quora.com/…
    – sarat
    Aug 1, 2011 at 11:34
  • 1
    @sarat, I know Twitter is worth a lot of money, but I wouldn't class it as large or enterprise. //I wasn't aware that code.google.com supported git, it is very new news, and I'm not sure that you could call that adopting git over other version controls. [Originally](code.google.com/p/support/wiki/DVCSAnalysis), they clearly decided for Mercurial over git
    – Benjol
    Aug 2, 2011 at 7:12
  • @Benjol In general I can't tell but the public guava repo has just moved to git.
    – maaartinus
    Aug 17, 2011 at 18:10

9 Answers 9

39

GitHub is NOT a version control -- it "hosts" the version control system called "Git". Aside from the pun, this is a very important difference -- know it well.

Regarding enterprise use, I can tell you that git is as smart (and convenient, and better) as something like SVN. And, you can choose a suitable version control strategy (workflow) based on the size and scope of the project (and your team). Non-distributed systems can't afford you this flexibility.

enter image description here

For Windows, check out Msysgit or Visual Studio Extensions for Git -- git works very well on Windows. Also, windows users look at this training series from TekPub -- it is all Windows.

UPDATE [Feb 2013] getting started with git in visual studio

Your question is not uncommon, and you could google about it and get a lot of text explaining you why and how (and whether) to use git in the enterprise.

Still don't like Git? Look at another DVCS called Mercurial.

9
  • 12
    Msysgit is not a true Windows citizen. It works great, but is hardly 100% native.
    – Yann Ramin
    Jul 29, 2011 at 6:38
  • +1 for point some important aspects about Git. Although @greengit pointed out possible options for using Git under Windows, it is far from being as integrated as, say, SVN.
    – tehnyit
    Jul 29, 2011 at 7:38
  • We use Eclipse which has gotten good git support.
    – user1249
    Jul 29, 2011 at 8:06
  • 1
    I think gitolite (or similar) deserves a mention here. A lot of security people like the local, closed off, and in control option of hosting the repo locally.
    – Nic
    Jul 29, 2011 at 14:40
  • 2
    @YannRamin: Msysgit is definitely a true Windows citizen and is 100% native. It comes with a unix shell that uses slightly different conventions, but that's the shell, not git. You can use Msysgit from cmd.exe or any other windows process just as any other native application. (Cygwin is different, but Msys isn't cygwin)
    – Jan Hudec
    Oct 23, 2012 at 6:38
17

+1 Mercurial.

Mercurial is cool, is easy, has many user friendly GUIs, and feels more professional. I never understood why Git had such a hype, while other great ones are in the shadow. Mercurial is also supported by google code, bitbucket.org (the equivalent of github), eclipse... I use it since two years and was always happy with it.

Edit February 2014:

In the meantime, Git has taken such a lead that I would advise it over mercurial. Three years ago, Mercurial was IMHO more polished, cleaner, better. However, the hype was on Git's side and the momentum it gained since then makes it the clear winner. It is now the de-facto standard because of its huge community.

6
  • Git is a lot more powerful in terms of how you can manipulate the history. A lot of people will opt to merge branches locally then rebase them into a single mainline branch before pushing to the main/public repo; that way the long-term history remains very clean. As far as I could tell last time I used HG, Mercurial doesn't support those types of history edits. In general, git in Windows sucks; the best gui tools (git-cola, gitk) to use it can only be found on Linux. Oct 23, 2012 at 8:31
  • 1
    I'd hardly say Git succeeded due to hype: last time I checked, Mercurial's backend format was delta-based and as prone to corruptionas SVN or CVS. Git's fundamental model, meanwhile, is mostly write-only with atomic changes. It's just a much more technically-sound solution. Feb 25, 2014 at 9:07
  • @StuartP.Bentley: what do you mean by corruptions?
    – dagnelies
    Feb 28, 2014 at 4:48
  • Suddenly stopping a process in the middle of copying, moving, writing, either on disk or network: in Git, this will only ever create objects that are immediately recognizable as garbage (since the content does not match the hash), and even if you lose something halfway in the middle, you can check what you did get and put things back together from there. Feb 28, 2014 at 8:55
  • Meanwhile, delta-based formats that keep all their information on changes in a single file, like Mercurial, can have minor accidents (dropping a line that describes a change, for example) that break the file in such a way that, like Humpty Dumpty, it is impossible to put back together again. Feb 28, 2014 at 8:57
8

I know https://github.com/ provides some support with regards to private repositories for enterprises

Specifically they provide a service called firewall install http://fi.github.com/ They claim to provide support but have no details posted online and I have never used them.

Costs are 5000$ per 20 people per year.

3
  • -1 doesn't answer his question at all
    – MattyD
    Jul 29, 2011 at 6:06
  • 13
    He asked for companies which provide solutions and support. Github has a specific enterprise git hosting solution for companies. It doesn't answer the first question. It sort of answers the second question. It does answer the third question.
    – c00w
    Jul 29, 2011 at 6:11
  • Wow, when did the price of FI change ? Last I checked, it was something like 200-250$/mo and now it's the double o.O
    – wildpeaks
    Jul 30, 2011 at 1:46
8

I use both Git and Mercurial on Windows, and both are more than usable. I think the GUI tools for Mercurial are better, so if your team is used to visual tools it may be a better fit. I tend to use the commandline though - to me it just makes more sense.

Both, in my experience are bulletproof. You don't need 'support' as such, although I know a lot of enterprises like to have it.

I'm sure there are others, but it's worth having a look at Kiln, which is a hosted mercurial solution.

Please note- regardless of which way you go, DVCS are quite different to traditional VCSs. IMHO, they're superior in almost every way, but it can take some time to get used to.

1
  • 2
    it can take some time to get used to. // i remember how much i hated Git during those long two days of adaptation from SVN.
    – c69
    Apr 5, 2012 at 14:44
6

git is foreign for Windows developers. It's not a real first class citizen. It does work well, but it's a Linux tool first and foremost. For instance, git's server model pretty much requires SSH logins for security.

Support is a question, and there are companies which can provide, usually accompanied with a hosted solution.

Git is known to not require huge servers - as repositories scale more io capacity and speed is always important, but as most operations happen only on your computer, server requirements are an order of magnitude less than something like Clearcase.

For what its worth, our not quite enterprise company of less than 100 is a huge user of git, on Windows, with Java and C projects.

3
  • 1
    Though it was a lot of fiddling and digging for documentation, I got GIT to work very well with HTTP Basic authentication over SSL backed by an LDAP server.
    – DoubleMalt
    Jul 29, 2011 at 7:52
  • 1
    Beware of whitespace/line-endings if you plan to port anything to Linux. It can get ugly if you're not vigilant from the start. Oct 23, 2012 at 8:35
  • Git is now built into VS 2013 and above. MS has made it a first-class citizen.
    – Clay Smith
    Aug 31, 2015 at 15:46
5

Git is very different from Clearcase, so the the challenge for you is probably going to be how to smoothly migrate your developers (and other users) to a different way of working with source code and files. Depending on how experienced your users are and how deeply integrated Clearcase is in your enterprise, it may require lots of training and unlearning.

My suggestion initially is that you try out git in a pilot project and see how it works out for your team. Get a secure repository on github and you're all set for the pilot.

5
  • Is Git really a reliable tool for enterprise environment, especially for Windows Platform?

We will soon be at a strong yes with this one. Atlassian recently made big steps towards achieving this with the release of Stash 1.3.

  • The support is a question for Git as it's an open source version control.

There is a strong support network of knowledgeable Git users offering advice for free and various LinkedIn groups (Git Version Control System). A quick Google search can usually help with most requirements. For bigger enterprise companies there are also commercial git support options now available on the market today.

  • Any companies are there to provide solutions and support? How the server costs comparing to other version controls like Clear-case?

There are a number of companies now offering reliable and dedicated support for Git. Clearvision and #goGit to name one of them.

1
1

At my enterprise workplace, I've been working on supporting bringing a team into Mercurial (a similar tool to git) across from ClearCase.

We chose hg in party because its designed around immutability, which is important to our business goals. Also, since it is written in Python, it works very well in Windows. Git has had a reputation for being weaksauce on Windows, and my experience has reflected that. (I gather that tools are better now, I don't use Windows enough anymore to check. :-) ).

The experience has been generally positive, with most of our downsides related to subrepositories and the weird indirections related to them. Another thing is that metadata storage is non-existent in hg; other solutions have to be developed to manage that.

If I was to recommend an enterprise solution for "out of the box" work for Windows developers, I would recommend investigating Kiln and GitHub Firewall.

I know that doesn't directly answer your question. But let me put it this way, if you are used to ClearCase, I expect git to be an order of magnitude easier to train, implement, and administrate.

1

Git and Mercurial can be used in enterprise environments. To some degree. Some organizations have extra requirements currently not fulfilled by git, things like stricter access control so that i.e. only specific users have (read) access to specific files in the repository or like auditing interfaces that access can be tracked. Some commercial enterprise systems also have deeper integration with IT systems management, like corporate backup solutions.

Git also is not good for ensuring the history is kept - by default it allows forced pushes overwriting the fully history of the project.

Large organizations sometimes hit scaling issues. Here is a case Facebook had: http://comments.gmane.org/gmane.comp.version-control.git/189776, while some of those issues are fixable (i.e. Facebook fixed some issues they had in mercurial: https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) commercial version control systems have different scaling behavior which might (or in other environments might not) work better.

... and then there is this responsibility thing. Larger organizations might prefer calling an external vendor when there are issues instead of using their time to debug the issues and rely on community support. Especially if corrupted repositories with confidential information are involved.

These by no means are issues making it unusable in "enterprise environments", but like always different software has different pros and cons which has to be evaluated case by case.

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