Git User's Survey 2010 summary
The "Git User's Survey 2010" has been closed on October 15, 2010.
The survey could be found here:
The survey was be open from 1 September to 15 October, 2010 (for 1.5 months).
You can get raw data (individual responses) for the survey here (exported from Survs.com):
- Git User's Survey 2010 - results num.csv.gz (CSV + gzip, 748 KB)
Export type: Individual respondents; File type: Comma Separated Values (CSV); Data format: Numerical; Options: Short labels
- Git User's Survey 2010 - results txt.xls (XLS, 9.8 MB)
Export type: Individual respondents; File type: Spreadsheet (Excel); Data format: Textual
The live results of the survey can be found at:
- http://tinyurl.com/GitSurvey2010Analysis (expands to the link below)
There were 8841 individual responses in this survey (the 5 responses in 'test' channel were removed), for 28001 views.
There were 3868 individual responses in GitSurvey2009 (the 30 responses in 'test' channel were removed), for 14106 views.
There were 3236 individual responses in GitSurvey2008 (including 21 responses in 'test' channel), for 12101 views.
There were 683 individual responses in GitSurvey2007.
There were around 117 responses in GitSurvey2006.
Table of contents:
Information about survey completion
Date of response
The graph above shows histogram of number of responders by date (in CET / GMT+2 / +0200 timezone).
Number of replies per question
|Question||Count||Perc.||per 8841 responses|
|01. What country do you live in (country of residence)?||8470||95.8%|| |
|02. How old are you (in years)?||8437||95.4%|| |
|Getting started with Git|
|03. Have you found Git easy to learn?||8404||95.1%|| |
|04. Have you found Git easy to use?||8418||95.2%|| |
|05. Which Git version(s) are you using?||8481||95.9%|| |
|06. Rate your own proficiency with Git:||8546||96.7%|| |
|How you use Git|
|07. I use Git for (check all that apply):||8551||96.7%|| |
|08. How do/did you obtain Git (install and/or upgrade)?||8505||96.2%|| |
|09. On which operating system(s) do you use Git?||8541||96.6%|| |
|10. What Git interfaces, implementations and frontends do you use?||8467||95.8%|| |
|11. How often do you use following kinds of Git tools?||8429||95.3%|| |
|12. What Git GUIs (graphical user interfaces) do you use?||6919||78.3%|| |
|13. Which git hosting site(s) do you use for your project(s)?||7922||89.6%|| |
|14. How do you fetch/get changes from upstream repositories?||8354||94.5%|| |
|15. How do you publish/propagate your changes?||8272||93.6%|| |
|16. Which of the following features do you use?||7087||80.2%|| |
|17. Which of the following features would you like to see implemented in git?||7203||81.5%|| |
|18. Describe what features would you like to have in Git,||1187||13.4%|| |
|What you think of Git|
|19. Overall, how happy are you with Git?||8471||95.8%|| |
|20. In your opinion, which areas in Git need improvement?||8107||91.7%|| |
|Changes in Git (since year ago, or since you started using it)|
|21. Did you participate in previous Git User's Surveys?||8332||94.2%|| |
|22. How do you compare the current Git version with the version from one year ago?||8202||92.8%|| |
|Documentation. Getting help.|
|23. How useful have you found the following forms of Git documentation?||8240||93.2%|| |
|24. Have you tried to get help regarding Git from other people?||8294||93.8%|| |
|25. If yes, did you get these problems resolved quickly and to your liking?||5846||66.1%|| |
|26. What channel(s) did you use to request help?||5777||65.3%|| |
|27. Which communication channel(s) do you use?||1441||16.3%|| |
|About this survey.|
|28. How did you hear about this Git User's Survey?||8288||93.7%|| |
Number of questions answered per responder
Most people answered 26 questions, all but 2 questions out of 28 in total.
01. What country do you live in (country of residence)?
(tabularized free-form single line)
This table is sorted alphabetically by country name.
The countries where number of responders was less than 10 (less than 0.1%) were gathered together and summed under "other countries" label.
Some responders put more than one country in response, or wrote 'multiple' (perhaps double citizenship?). There were 8 such responses, as can be seen in the row named "multiple".
|other countries (below 10 resp.)||136||1.6%|
|Base||8470 / 8841|
As one can easily see, slightly less than third of Git users (31.3%) are in the USA (those who answered this survey, and this question). Next of countries is Germany with around 10.3% (or 1/10th) responses. Third is United Kingdom of Great Britain (including England, Scotland, Wales and Northern Ireland) with 6.9%, and closely following on fourth place is France with 6.1%
The names of the countries were normalized using Locale::Country Perl module version 3.14
You can also take a look at Git Activity Map at Ohloh, where you can see on (large) Google Map locations of selected people who have Git in a stack, or locations of Git contributors (those with known location).
It is a bit pity that this survey did not include question "Does git.git repository include code produced by you?" (or equivalent), so we would be able to see where the developers are.
|North America||3049||36.0%|| |
|South America||288||3.4%|| |
In the table above "Oceania" includes (among others) Australia and New Zealand. As you can see most responders are from Europe (50.0%, a half of responses), followed by North America (36.0% responders).
02. How old are you (in years)?
(tabularized free-form single line)
|< 18||147||1.7%|| |
|Not a number||6||0.1%|| |
|Base||8437 / 8841|
Discounting joke responses (or errors in parsing), like 3 or 4 years old on one hand side, and 1000000 years old on other side, youngest user who answered this question is 10 years old (next oldest is 12 years old), oldest is 87 (next to oldest is 81). That is quite a span.
Most Git users (slightly less than one third: 31.4%) fall in the 26-30 range. The age of 25 got most responses (616 for 8437 responses, or 7.3%).
Getting started with Git
03. Have you found Git easy to learn?
|Very easy||408||4.9%|| |
|Reasonably easy||4460||53.1%|| |
|Very hard||139||1.7%|| |
|Base||8404 / 8841|
Nice Gaussian curve. Most users find it reasonably easy to learn, slightly biased towards easy.
04. Have you found Git easy to use?
|Very easy||932||11.1%|| |
|Reasonably easy||3575||42.5%|| |
|Very hard||85||1.0%|| |
|Base||8418 / 8841|
Most users find it reasonably easy to easy to use Git.
When analyzing this data (and the data for the question before) you should take into account that somebody considering or finding Git too hard to learn wouldn't be probably Git user, and thus wouldn't fill this survey. So because it is Git User's Survey we should consider that results can be skewed towards lower value (easier).
What's interesting is comparing (percentage) results for questions 3. and 4.; how hard is git to learn versus how hard is to use. It seems like Git is reasonably easy to learn, and reasonably easy to easy to use. So it looks like Git just have somewhat steep learning curve, and the difficulty to learn pays in being more powerful to use.
05. Which Git version(s) are you using?
(multiple choice, with other)
|pre 1.3||12||0.1%|| |
|minor (maintenance) release 1.x.y.z||1463||17.3%|| |
|'master' branch of official git repository||304||3.6%|| |
|'next' branch of official git repository||54||0.6%|| |
|'pu' branch of official git repository||13||0.2%|| |
|version from msysGit / Git for Windows fork repository||811||9.6%|| |
|git-bigfiles fork||12||0.1%|| |
|JGit implementation (e.g. via Eclipse plugin, EGit)||404||4.8%|| |
|other git implementation (Git#, Dulwich, etc.)||75||0.9%|| |
|other, please specify||157||1.9%|| |
|Base||8481 / 8841|
You can find git version by using "
git --version" or "
"Minor release" is additional specification, so if you for example use git version 220.127.116.11, please check both "1.6.x" and "minor release".
As you can see from above results great majority (83%) run latest 1.7.x series of git (note: because it is multiple-choice question it means 'at least on one machine'). Only a few use 1.3.x or pre 1.3 versions somewhere. The 1.4.x version gets only 0.5%.
Only around 17.3% (less than one fifth) of responders use (somewhere) maintenance releases (1.x.y.z). That, or the question wasn't formulated clear enough.
06. Rate your own proficiency with Git:
|1. novice||341||4.0%|| |
|2. casual, needs advice||1625||19.0%|| |
|3. everyday use||3308||38.7%|| |
|4. can offer advice||2703||31.6%|| |
|5. know it very well||569||6.7%|| |
|Base||8546 / 8841|
You can think of it as 1-5 numerical grade of your proficiency in Git.
As you can see most responders know Git enough for everyday use (39%), or can even offer some Git advice (32%). If we treat possible answers as a proficiency grade, the average proficiency is around 3.2 ± 0.9.
Either Git users don't stay novices long (4%), or survey announcement(s) didn't reach many novice users.
How you use Git
07. I use Git for (check all that apply):
(multiple choice, with other)
|work projects||6905||80.8%|| |
|unpaid projects||6623||77.5%|| |
|proprietary projects||3365||39.4%|| |
|OSS development||5556||65.0%|| |
|private (unpublished) code||6335||74.1%|| |
|code (programming)||7819||91.4%|| |
|personal data||2337||27.3%|| |
|documents (data)||2528||29.6%|| |
|static website||2477||29.0%|| |
|web app||3892||45.5%|| |
|large (>1 MB) binary files||1484||17.4%|| |
|often changing binary files||611||7.1%|| |
|sharing data or sync||1724||20.2%|| |
|managing configuration files||2850||33.3%|| |
|backend for wiki, blog, or other web app||922||10.8%|| |
|frontend to other SCM (e.g. git-svn)||1809||21.2%|| |
|other (please specify)||154||1.8%|| |
|Base||8551 / 8841|
Note that above choices are neither orthogonal nor exclusive. You might want to check multiple answers even for a single repository.
08. How do/did you obtain Git (install and/or upgrade)?
(multiple choice, with other)
|binary package||6275||73.8%|| |
|source package or script||2004||23.6%|| |
|source tarball||1211||14.2%|| |
|pull from (main) repository||984||11.6%|| |
|preinstalled / sysadmin job||789||9.3%|| |
|other - please specify (if none of the above apply)||414||4.9%|| |
|Base||8505 / 8841|
Explanation: "binary package" covers pre-compiled binary (e.g. from rpm or deb binary packages); "source package" covers things like deb-src and SRPMS/*.src.rpm; "source script" is meant to cover installation in source-based distributions, like 'emerge' in Gentoo.
Automatic update (apt, yum, etc.) in most cases means binary package install; unless one uses source-based distribution like Gentoo, CRUX, or SourceMage, where automatic update means using source package (or source script).
The option named "preinstalled / sysadmin job" means that either you didn't need to install git because it was preinstalled (and you didn't upgrade); or that you have to ask system administrator to have git installed or upgraded.
Note that this question is multiple choices question because one can install Git in different ways on different machines or on different operating systems.
Most people (73.8%) use ready binary packages, which was kind of expected; that is the easiest way.
09. On which operating system(s) do you use Git?
(multiple choice, with other)
|*BSD (FreeBSD, OpenBSD, NetBSD, etc.)||639||7.5%|| |
|MacOS X (Darwin)||3932||46.0%|| |
|MS Windows/Cygwin||823||9.6%|| |
|MS Windows/msysGit (MINGW)||2151||25.2%|| |
|other Unix||211||2.5%|| |
|Other, please specify||92||1.1%|| |
|Base||8541 / 8841|
On Unix-based operating system you can get the name of operation system by running 'uname' (or 'uname -o').
Most common used operating system is GNU/Linux, next is MacOS X, and then MS Windows (on MS Window dominates msysGit version). This is quite understandable, as Git was created on Linux and for Linux, and it works best on POSIX-compliant operating systems.
Analysis of "other, please specify" responses:
Below there is table with analysis of write-in responses in "other".
|GNU/Linux (it was "Linux", not "GNU/Linux")||4||0.0%|
|*BSD (FreeBSD, OpenBSD, NetBSD, etc.)||1||0.0%|
|MacOS X (Darwin)||2||0.0%|
|MacOX X (Homebrew)||1||0.0%|
|MS Windows (without Cygwin/msysGit)||1||0.0%|
|MS Windows msysGit from Cygwin (?)||1||0.0%|
|MS Windows/virtual machine with GNU/Linux||3||0.0%|
|iPhone OS (jailbroken)||2||0.0%|
|comment about survey||1||0.0%|
Here "EXPLANATION" means that code parsing and tabularizing "other, please specify" response found category which was already marked (used). This most probably meant that responder used "other, please specify" field to explain / describe in more detail their response.
'GNU/Linux (it was "Linux", not "GNU/Linux")' response means people who used "other, please specify" response to tell that it should be 'GNU/Linux' (it was before change of answer from 'Linux' to 'GNU/Linux').
Quite a few responders knew that they use e.g. Ubuntu, but didn't choose 'GNU/Linux' response...
10. What Git interfaces, implementations and frontends do you use?
(multiple choice, with other)
|git (core) commandline||8285||97.9%|| |
|JGit (Java implementation), e.g. via Eclipse plugin||745||8.8%|| |
|Cogito (DEPRECATED)||7||0.1%|| |
|Easy Git||33||0.4%|| |
|pg aka Patchy Git (DEPRECATED)||1||0.0%|| |
|I don't know, I use only (graphical) tools||86||1.0%|| |
|Other (please specify)||1706||20.1%|| |
|Base||8467 / 8841|
Using (at least among other implementations) git command line tool dominates with 97.9% responses... but there are responders (2.1%) who do not use command line tools at all. JGit users have almost one tenth of responses (8.8%).
This question has very large amount of "other (please specify)" responses, 20.1% which is around fifth of responders.
11. How often do you use following kinds of Git tools?
|Answer||never||rarely||sometimes||often||(almost) always||Avg. / Count|
|editor/IDE VC integration||4792||56.9%||1457||17.3%||951||11.3%||737||8.7%||492||5.8%||1.9 (5) / 8429||
|filemanager / shell extension||6477||76.8%||804||9.5%||501||5.9%||325||3.9%||237||2.8%||1.4 (5) / 8344||
|graphical history viewer/browser||1794||21.3%||1496||17.7%||1873||22.2%||1912||22.7%||1183||14.0%||2.9 (5) / 8258||
|graphical commit tool||4710||55.9%||1265||15.0%||785||9.3%||757||9.0%||678||8.0%||2.0 (5) / 8195||
|graphical diff and/or merge tool||3551||42.1%||1301||15.4%||1391||16.5%||1230||14.6%||673||8.0%||2.3 (5) / 8146||
|graphical blame or pickaxe tool||6012||71.3%||1091||12.9%||642||7.6%||288||3.4%||80||0.9%||1.4 (5) / 8113||
|git-instaweb, or self-hosted web interface||5889||69.9%||836||9.9%||646||7.7%||519||6.2%||200||2.4%||1.6 (5) / 8090||
|tool to manage git repositories||5383||63.9%||689||8.2%||668||7.9%||750||8.9%||558||6.6%||1.8 (5) / 8048||
|my own scripts (for daily use)||4551||54.0%||1104||13.1%||1037||12.3%||779||9.2%||446||5.3%||1.9 (5) / 7917||
|my own scripts (for special tasks)||4110||48.8%||1292||15.3%||1166||13.8%||576||6.8%||295||3.5%||1.9 (5) / 7439||
|Base||8429 / 8841|
- ↑ For example EGit (for Eclipse), TextMate Git bundle, magit (for GNU Emacs)
- ↑ For example git-cheetah, TortoiseGit
- ↑ For example gitk
- ↑ For example git-gui
- ↑ For example Kompare, Meld
- ↑ For example 'git gui blame'
- ↑ For example Gitosis or Gitolite
Here graphics diff tool means tools such as Kompare, and graphical merge tool means tools such as Meld and KDiff3. Those answers include graphical merge and diff tools used by programmers editors and IDEs.
"graphical history browser (any)" covers tools such as gitk, QGit, Giggle, tig etc., but also built-in git commands such as "git log --graph" and "git show-branch". If you use one of mentioned tools as history browser, mark both a tool and "graphical history browser (any)"; if you use some graphical history viewer not listed here, please both mark this answer and specify it in the "other tool" answer.
Similarly for other answers marked "(any)".
12. What Git GUIs (graphical user interfaces) do you use?
(multiple choice, with other)
|git gui||1729||25.0%|| |
|Git Extensions||247||3.6%|| |
|EGit (Eclipse)||640||9.2%|| |
|other IDE with git support||461||6.7%|| |
|editor with git support||642||9.3%|| |
|Other, please specify||488||7.1%|| |
|Base||6919 / 8841|
Please select GUI that you use somewhat regularly (at least from time to time).
Similar issue applies to all other "What do you use?" kind of questions.
Most popular graphical tool is gitk, a graphical history viewer, with 58% of responses. Most probably it is because it is the default history viewer, bundled with Git (though if you install git from packages, it usually is in a separate package).
git gui, a commit tool (a git GUI), also distributed with Git, is third with 25%, closely following GitX, a git GUI for MacOS X.
13. Which git hosting site(s) do you use for your project(s)?
(Please check only hosting sites where you publish/push to)
(multiple choice, with other)
The section of table with generic git hosting sites (first section) is sorted alphabetically by site name. Write-in (written in "Other (please specify)" are marked using different style and use different color of histogram (if it is visible). Not all write-ins were added.
|Google Code||4||0.1%|| |
|The Chaw||9||0.1%|| |
|Fedora Hosted||50||0.6%|| |
|company internal||34||0.4%|| |
|git hosting site for set of related projects (e.g. OLPC)||123||1.6%|| |
|generic site without git support||166||2.1%|| |
|self hosted||3496||44.1%|| |
|Other (please specify)||377||4.8%|| |
|Base||7922 / 8841|
You can find those and other git hosting sites listed on GitHosting page.
Note that replies might be affected by the fact that announcement about this survey was shown at some git hosting sites, but not at others. Additionally users of some git hosting sites may skip welcome page more often than for other hosting site; also not all hosting sites have blog or a news / announcements section (or some hosting sites might have better mechanism for announcements)
Note also that there are git hosting sites, like for example Codaset, which were not present as one of choices in the ready list of answers. They were "write-in", its numbers retrieved by parsing contents of "other (please specify)" option. Nevertheless those write-ins might be under-represented.
The "company internal" answer was forgotten when creating this survey, and is also write-in.
The leader here is (like in previous years) GitHub with 77% of responders (up from 62% in 2009); "self hosted" is second with 44%, but it is quite lower than 57% in 2009.
The high position of GitHub might be at least partially caused by the fact that GitHub has good announcement system for new features, which was used to announce "Git User's Survey 2010" to GitHub users.
Below there is table showing how many responders selected how many options. Note that it does not analyse "other, please specify" answer, which might describe more than one git hosting site on one side, and might say something like "don't use git hosting site" on the other side.
|Multiplicity / 24||Count||Perc.|
|Base||7922 / 8841|
Most responders (52%) use only one git hosting site, around a third (34%) use two git hosting site (or selected one git hosting site and wrote something in "other, please specify" choice).
14. How do you fetch/get changes from upstream repositories?
(multiple choice, with other)
|git protocol (e.g. git://example.com/repo.git)||6485||77.6%|| |
|ssh (e.g. ssh://example.com/repo.git or email@example.com:/repo.git)||5924||70.9%|| |
|http (e.g. http://example.com/repo.git)||3416||40.9%|| |
|rsync (DEPRECATED) (e.g. rsync://example.com/repo.git)||18||0.2%|| |
|filesystem (e.g. /path/to/repo.git or file:///path/to/repo.git)||1687||20.2%|| |
|via git-bundle||118||1.4%|| |
|foreign SCM import / script like git-svn||1299||15.5%|| |
|Other, please specify||87||1.0%|| |
|Base||8354 / 8841|
This question asks about how do you get changes (updates) from projects you follow into your local repository. It is not about how do you get latest version of Git.
Fetching (or rather cloning) via bundle could mean that project publishes ready for download bundles to reduce traffic and load on server (HTTP download [of bundle] can be resumed, git-clone currently cannot; one can also distribute bundle using P2P).
git:// protocol and SSH are almost the same often used to fetch changes: git protocol with 78%, SSH with 71%. Only 41% responders use HTTP for fetching (from somewhere).
15. How do you publish/propagate your changes?
(multiple choice, with other)
|pull request (+ any form of announcement / notification)||2765||33.4%|| |
|format-patch + email||1322||16.0%|| |
|format-patch + other (e.g. reviewboard, issue tracker or forum)||661||8.0%|| |
|git bundle||144||1.7%|| |
|git-svn (to Subversion repository)||1503||18.2%|| |
|git-p4 (to Perforce repository)||80||1.0%|| |
|foreign SCM interface (other than mentioned above)||126||1.5%|| |
|other - please specify||155||1.9%|| |
|Base||8272 / 8841|
Publishing via bundle could mean sending bundle via email, or posting it on review board (or forum).
Instead of git-format-patch there can be utilized other way of generating patch (e.g. git-show, git-diff, 'patch' view from gitweb, etc.)
16. Which of the following features do you use?
(multiple choice, with other)
|git bundle (off-line transport)||488||6.9%|| |
|"smart" HTTP support||902||12.7%|| |
|eol conversion (crlf)||1307||18.4%|| |
|custom diff/merge driver||697||9.8%|| |
|gitattributes (other than above)||443||6.3%|| |
|submodules (subprojects)||2336||33.0%|| |
|subtree merge (optionally git-subtree)||364||5.1%|| |
|partial (sparse) checkout||350||4.9%|| |
|assume-unchanged bit||144||2.0%|| |
|separate worktree / core.worktree||178||2.5%|| |
|multiple worktrees (git-new-workdir)||203||2.9%|| |
|alternates mechanism (sharing object database)||160||2.3%|| |
|stash (optionally "git stash --keep-index")||4703||66.4%|| |
|shallow clone (e.g. "git clone --depth=<n>")||496||7.0%|| |
|detaching HEAD (e.g. "git checkout HEAD^0")||1367||19.3%|| |
|interactive rebase (small scale history editing)||3195||45.1%|| |
|interactive commit / per-hunk comitting / partial commit||2869||40.5%|| |
|commit message templates||458||6.5%|| |
|git-filter-branch or equivalent (large history rewriting)||756||10.7%|| |
|bisect (optionally "git bisect run <script>")||1981||28.0%|| |
|committing with dirty tree (keeping some changes uncommitted)||3199||45.1%|| |
|non-default hooks (from contrib/hooks/ or other place)||1008||14.2%|| |
|shell completion of commands||3684||52.0%|| |
|git-aware shell prompt||2503||35.3%|| |
|git aliases, shell aliases for git, or own git scripts||2905||41.0%|| |
|one-way interaction with other SCMs (from SCM to git)||911||12.9%|| |
|two-way interaction with other SCMs (git as fat client)||1213||17.1%|| |
|git cvsserver||33||0.5%|| |
|git notes||237||3.3%|| |
|Other, please specify||100||1.4%|| |
|Base||7087 / 8841|
- ↑ Note that '"smart" HTTP support' is a feature that one can be using without knowing about it; it is enough if one uses new enough git, there is new enough git on server, and one uses http:// protocol for fetching.
- ↑ This means gitattributes other than `text`, `eol`, `diff.<name>.command`, `diff.<name>.textconf`, `merge.<name>.command` etc., which means `ident`, `filter`, custom diff hunk-header and word diff, selecting pre-defined merge drivers, `conflict-marker-size`, `whitespace`, `export-ignore`, `export-subst`, `delta`, `encoding`. See gitattributes(5) manpage.
- ↑ git-subtree is an external tool making it easier to use workflow which uses "subtree" merge strategy. It was at the time of this survey managed as external project.
- ↑ git-new-workdir is a shell script in contrib/worktree/ which can be used to manage multiple worktrees (working areas) for a single repository. Uses symbolic links.
- ↑ "interactive / partial commit" includes using commands like "git commit --interactive" or per-chunk comitting in "git gui".
Analysis: (does not include "other, please specify")
This question, to avoid complicating it, does not distinguish between features that are used often and features that are used rarely. Besides, some features are by their very nature to be used more rarely than other features.
Most popular feature, by quite a large margin, is stash, with two thirds (66.4%) of responses. "git stash" first appeared in git version 1.5.3, from September 2007.
Second is "shell completion of commands", with more than half of responses (52.0%).
Then there are, with percentage of responses from 40% to 45%, comitting with dirty tree and interactive / partial commit, interactive rebase, and aliases (git aliases, shell aliases, one's own git scripts).
More than third of responses have also git-aware shell prompt with 35%, and submodules with 33%.
Least used, with only 0.5% of responses, is "git cvsserver".
17. Which of the following features would you like to see implemented in git?
|better support for big files (large media)||2024||28.1%|| |
|resumable clone/fetch (and other remote operations)||1738||24.1%|| |
|GitTorrent Protocol, or git-mirror||998||13.9%|| |
|lazy clone / on-demand fetching of object||814||11.3%|| |
|subtree clone||1167||16.2%|| |
|support for tracking empty directories||2532||35.2%|| |
|environment variables in config||612||8.5%|| |
|better undo/abort/continue, and for more commands||1672||23.2%|| |
|'-n' like option for each command, which describes what would happen||2413||33.5%|| |
|warn before/when rewriting published history||1619||22.5%|| |
|side-by-side diffs and/or color-words diff in gitweb||1386||19.2%|| |
|admin and/or write features in gitweb||390||5.4%|| |
|graphical history view in gitweb||1188||16.5%|| |
|GUI for rebase in git-gui||1302||18.1%|| |
|GUI for creating repository in git-gui||493||6.8%|| |
|graphical diff/merge tool integrated with git-gui||1069||14.8%|| |
|syntax highlighting in git-gui||935||13.0%|| |
|filename encoding (in repository vs in filesystem)||397||5.5%|| |
|git push --create||1848||25.7%|| |
|localization of command-line messages (i18n)||258||3.6%|| |
|wholesame directory rename detection||1149||16.0%|| |
|union checkouts (some files from one branch, some from other)||517||7.2%|| |
|advisory locking / "this file is being edited"||467||6.5%|| |
|"commands issued" (or "command equivalents") in git-gui / gitk||420||5.8%|| |
|built-in gitjour/bananajour support||376||5.2%|| |
|better support for submodules||2070||28.7%|| |
|other (described below)||519||7.2%|| |
|Base||7203 / 8841|
- ↑ There is git-bigfiles git fork, which means to make life bearable for people using Git on projects hosting very large files (hundreds of megabytes), and to merge back as many changes as possible into upstream Git once they're of acceptable quality
One of the most requested features is native support for tracking empty directories, with 35.2%, followed closely by request for '-n' like option for each command, which would print what would happen, but do not actually execute command, with 33.5%. Both have more than third of responses.
Then there are requests for better support for submodules with 28.7%, and for big files (large media) with 28.1%. Then there is request for "git push --create" i.e. native way of creating repositories remotely, with 25.7% of responders. Following it closely is request for resumable fetch, clone, and other remote operations, with 24.1% responses. All those have got than fourth of responses (or close to it).
Least requested are lazy clone with 11.3%, and support for environment variables like $HOME in config file, with 8.5%.
18. Describe what features would you like to have in Git,
if they are not present on the list above (in previous question)
TO TABULARIZE 1187 / 8841 non-empty responses
What you think of Git
19. Overall, how happy are you with Git?
|not so happy||323||3.8%|| |
|very happy||4592||54.2%|| |
|completely ecstatic||1571||18.5%|| |
|Base||8471 / 8841|
There were some complaints during planning stage of 2009 survey that the answers for this question are not symmetric; nevertheless it is set of answers that was used in previous surveys, and it would help comparing data with previous surveys to keep the current form.
Most responders are "very happy" with Git, and this answer seems to be a center of responses. One should take into account that if one is unhappy with Git, it is less likely that one would continue using it (unless other circumstances would force using it, like the project one contributes to using Git as DVCS of choice), thus less likely to be Git user and to participate in this Git User's Survey. There can be bias because it is Git survey; it might be different if it was generic survey about (distributed) version control systems.
20. In your opinion, which areas in Git need improvement?
Please state your preference.
|Answer||don't care||don't need||a little||some||much||Avg. / Count|
|user-interface||1180||14.6%||1209||14.9%||2248||27.7%||2090||25.8%||1380||17.0%||3.2 / 8107||
|documentation||420||5.2%||1582||19.5%||2844||35.1%||2279||28.1%||861||10.6%||3.2 / 7986||
|performance||1167||14.4%||4735||58.4%||1370||16.9%||460||5.7%||145||1.8%||2.2 / 7877||
|more features||1203||14.8%||2864||35.3%||2680||33.1%||913||11.3%||161||2.0%||2.5 / 7821||
|tools (e.g. GUI)||1628||20.1%||1551||19.1%||1722||21.2%||1750||21.6%||1125||13.9%||2.9 / 7776||
|localization (translation)||4417||54.5%||2315||28.6%||535||6.6%||293||3.6%||176||2.2%||1.6 / 7736||
|community (mailing list)||4170||51.4%||2425||29.9%||799||9.9%||203||2.5%||67||0.8%||1.6 / 7664||
|community (IRC)||4173||51.5%||2261||27.9%||734||9.1%||181||2.2%||64||0.8%||1.6 / 7413||
|Base||8107 / 8841|
From the table and histogram (graph) above one can see that:
- User interface, tools and documentation all need improvement;
- Performance rather doesn't need to be improved;
- More features gets mainly "don't need" and "a little" as answers;
- People mostly don't care about improving communities or localization (but please remember that this survey was in English, and announced on English-speaking sites / lists).
Changes in Git (since year ago, or since you started using it)
21. Did you participate in previous Git User's Surveys?
|in 2006||64||0.8%|| |
|in 2007||164||2.0%|| |
|in 2008||467||5.6%|| |
|in 2009||912||10.9%|| |
|I don't remember, but I have participated in the past||969||11.6%|| |
|none of above (first Git User's Survey)||6492||77.9%|| |
|Base||8332 / 8841|
Most responders (77.9%) didn't participate in previous surveys. This answer is explicit rather than implicit (by not answering the question) like in previous surveys.
It is good that "I don't remember, but I have participated in the past" got added (thanks to comments during planning stage of this survey); it has most answers (11.6%) next to not answering any of previous surveys.
22. How do you compare the current Git version with the version from one year ago?
|no changes||675||8.2%|| |
|cannot say||4382||53.4%|| |
|Base||8202 / 8841|
The version from approximately one year ago is 1.6.4 from 29-07-2009 (1.6.3 is from 06-05-2009),
Changes since this version include:
- refs/replaces/* mechanism
- git notes
- "smart" HTTP transport
- sparse checkout
- "git push" safeties like refusing to push into checked out branch
- "git status" is no longer "git commit --dry-run"
- various ways to access and change upstream info
- git log --glob=<pattern>
- more hints, ability to squelch verbose "advice" messages
- word diff support
- TAP-ified test output
- and more...
(see individual RelNotes for more details)
The original title of this question when starting this survey was "How do you compare the current version with the version from one year ago?". It was noticed during the time when survey was already open that this question is ambiguous and confusing: it is not clear whether 'version' refers to Git or to Git User's Survey. This was fixed, but in meantime many people seen older version.
It might be the cause of the fact that more than half of responders answered 'cannot say'.
Most people (53.4%, more than half) cannot say if Git improved since year ago or not. They might have chosen this answer because they didn't use Git a year ago, and that was the reason they could not do a comparison. This would indicate large number of new Git users participating in this survey.
But this is not the only explanation. It is possible that at least some of responders selected 'cannot say' answer because of ambiguity of changes: some are for better, some are for worse. Having the question stated in unclear way (see "Disclaimer" section above) for most of survey duration didn't help matters any. Yet another possibility that people do not remember version from year ago. Those different issues should be split as a separate options / separate answers in this single-choice question.
Discounting 'cannot say' answers, most people (38.2% of replies to this question) think that Git improved since year ago; almost none (0.1%, 9 in 8202 responses to this question) think that Git is worse than it was year ago.
Documentation. Getting help.
23. How useful have you found the following forms of Git documentation?
|Answer||never used||not useful||somewhat||useful||Avg. / Count|
|Git Wiki||3308||40.1%||266||3.2%||2786||33.8%||1880||22.8%||2.4 (4) / 8240||
|on-line help||1308||15.9%||223||2.7%||3026||36.7%||3586||43.5%||3.1 (4) / 8143||
|help distributed with git||1125||13.7%||467||5.7%||2798||34.0%||3582||43.5%||3.1 (4) / 7972||
|Base||8240 / 8841|
- Git Wiki can be found at http://git.wiki.kernel.org
- on-line help includes, among others, Git Homepage (http://git-scm.com) and "Git Community Book" (http://book.git-scm.com)
- help distributed with git include manpages, manual, tutorials, HOWTO, release notes, technical documentation, contrib/examples/
Git Wiki is least used form of documentation, with 40% of responders never using it. Generally, all documentation is seen as somewhat useful (34-37%) or useful (44%). Only Git Wiki, with many people not using it, has only 23% considering it useful and not somewhat useful.
24. Have you tried to get help regarding Git from other people?
|Base||8294 / 8841|
25. If yes, did you get these problems resolved quickly and to your liking?
|Base||5846 / 8841||
Consistency check: 5387 people answered that they tried to get help about Git from other people (in previous question), but we have 5846 responses for this question...
It looks like we have good community surrounding Git, if 62% of Git questions are resolved quickly and accurately, and only 7% couldn't get quick response and one to their liking. Those results are very similar to those from 2009 survey.
26. What channel(s) did you use to request help?
(multiple choice, with other)
|git mailing list (firstname.lastname@example.org)||415||7.2%|| |
|msysGit mailing list / Google Group||81||1.4%|| |
|"Git for Human Beings" Google Group||138||2.4%|| |
|IRC (#git)||1043||18.1%|| |
|IRC (other git/SCM related, e.g. #github)||287||5.0%|| |
|IRC (other than above)||632||10.9%|| |
|request in blog post or on wiki||409||7.1%|| |
|asking git guru/colleague||3400||58.9%|| |
|project mailing list, or IRC, or forum||533||9.2%|| |
|Twitter or other microblogging platform||801||13.9%|| |
|instant messaging (IM) like XMPP/Jabber||1017||17.6%|| |
|other (please specify)||432||7.5%|| |
|Base||5777 / 8841|
- ↑ Here I mainly meant asking a question on one's blog, and waiting for response in blog comments, like e.g. in this blog entry: "Migrating to git from Subversion", or asking on Git Wiki (as if it was help forum), or on Talk page of some other wiki (no example).
- ↑ StackOverflow is a community driven programming-related Q&A site
Most used 'channel' is simply to ask somebody better versed in Git personally, same as in previous surveys, with almost 60%. This year StackOverflow (a Q&A site) came as second with 37%, moving up from 17% last year when it was a new thing.
The #git IRC channel with usually fast real-time response is now third at 18%, down from 31% in 2009 and 37% in 2008. Together with other IRC channels (git/SCM related with 7%, other with 11%) it comes up to 34%, close to StackOverflow 37%. One wonders how disruptive StackOverflow chat would be...
Close fourth, with almost 18% of responses is instant messaging (XMPP/Jabber, Google Talk, AIM, QQ, ICQ, etc.), also with real-time response; 2009 survey had similarly 19% of IM users.
Git mailing list is 9th on the list with only 7.2% of replies, down from 12% in 2009 and 19% in 2008. The "Git for Human Beings" Google Group is down with 2.4%, in next to last place.
27. Which communication channel(s) do you use?
Do you read the mailing list, or watch IRC channel?
|email@example.com (main)||503||34.9%|| |
|Git for Human Beings (Google Group)||178||12.4%|| |
|#git IRC channel||789||54.8%|| |
|#git-devel IRC channel||36||2.5%|| |
|#github or #gitorious IRC channel||315||21.9%|| |
|#revctrl IRC channel||7||0.5%|| |
|Base||1441 / 8841|
Note that percentage is relative to the (small) number of replies to this question, not relative to the number of all responders.
Among listed channels, most commonly used are #git IRC channel on FreeNode with 55%, and git mailing list (firstname.lastname@example.org) with 34% (down from 42% in 2009). Third is #github and #gitorious IRC channels together, with 22% or replies to this question (same as in 2009).
About this survey.
28. How did you hear about this Git User's Survey?
(single choice, with other)
|git mailing list||313||3.8%|| |
|git-related mailing list (msysGit, Git for Human Beings, ...)||72||0.9%|| |
|mailing list or forum of some project||566||6.8%|| |
|#git IRC channel topic||42||0.5%|| |
|announcement on IRC channel||61||0.7%|| |
|git homepage||408||4.9%|| |
|git wiki||147||1.8%|| |
|git hosting site||1629||19.7%|| |
|software-related web site||563||6.8%|| |
|news web site or social news site (e.g. Digg, Reddit)||835||10.1%|| |
|blog (or blog planet)||885||10.7%|| |
|other kind of web site||166||2.0%|| |
|Twitter or other microblogging platform||1211||14.6%|| |
|other - please specify||1390||16.8%|| |
|Base||8288 / 8841|