Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?
share|improve this question

closed as too broad by gnat, MichaelT, Martijn Pieters, Bart van Ingen Schenau, amon Feb 22 at 15:00

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

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 '11 at 7:10
3  
Has great GUI support. Just choose a good operating system. –  user1249 Jul 29 '11 at 8:04
2  
@Benjol - This thread could give you some insights. quora.com/… –  sarat Aug 1 '11 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 '11 at 7:12
    
@Benjol In general I can't tell but the public guava repo has just moved to git. –  maaartinus Aug 17 '11 at 18:10

9 Answers 9

up vote 36 down vote accepted

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.

share|improve this answer
11  
Msysgit is not a true Windows citizen. It works great, but is hardly 100% native. –  Yann Ramin Jul 29 '11 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 '11 at 7:38
    
We use Eclipse which has gotten good git support. –  user1249 Jul 29 '11 at 8:06
    
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 '11 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 '12 at 6:38

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

share|improve this answer
    
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. –  Evan Plaice Oct 23 '12 at 8:31
    
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. –  Stuart P. Bentley Feb 25 at 9:07
    
@StuartP.Bentley: what do you mean by corruptions? –  arnaud Feb 28 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. –  Stuart P. Bentley Feb 28 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. –  Stuart P. Bentley Feb 28 at 8:57

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.

share|improve this answer
1  
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 '12 at 14:44

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.

share|improve this answer
    
-1 doesn't answer his question at all –  MattyD Jul 29 '11 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 '11 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 '11 at 1:46

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.

share|improve this answer
    
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 '11 at 7:52
    
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. –  Evan Plaice Oct 23 '12 at 8:35

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.

share|improve this answer
  • 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.

share|improve this answer
    
The Stash link is broken a year and a half later. I found it here: atlassian.com/software/stash –  Snowman Feb 21 at 19:23

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.

share|improve this answer

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.

share|improve this answer

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