GitSurvey2011
OBSOLETE CONTENT
This wiki has been archived and the content is no longer updated. Please visit git-scm.com/doc for up-to-date documentation.
Git User's Survey 2011 summary
The "Git User's Survey 2011" has been closed on October 3, 2011.
The survey could be found here:
- Git User's Survey 2011 (http://tinyurl.com/GitSurvey2011) at Survs.com ('closed').
The survey was opened from 5 September to 3 October, 2012 (for 30 days).
You can get raw data (individual responses) for the survey here (exported from Survs.com):
- Git User's Survey 2011 - results num.csv.gz (CSV + gzip, 1.1 MB)
Export type: Individual respondents; File type: Comma Separated Values (CSV); Data format: Numerical - Git User's Survey 2011 - results txt.xls (XLS, 14 MB)
Export type: Individual respondents; File type: Spreadsheet (Excel); Data format: Textual
You can use survey_parse_Survs_CSV(num).com.perl script from http://github.com/jnareb/GitSurvey-scripts repository to analyze data from CSV export linked above.
The live results of the survey can be found at (note: this link might stop working):
There were 11498 individual responses in this survey, for 98604 views.
There were 8841 individual responses in GitSurvey2010 (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:
About you
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 1% were gathered together and summed under "other countries" label.
Country | Count | Perc. | |
---|---|---|---|
United States | 3098 | 34.5% | |
Germany | 1063 | 11.8% | |
United Kingdom | 583 | 6.5% | |
Canada | 446 | 5.0% | |
France | 372 | 4.1% | |
Australia | 253 | 2.8% | |
Sweden | 225 | 2.5% | |
Russian Federation | 198 | 2.2% | |
Poland | 192 | 2.1% | |
Netherlands | 184 | 2.0% | |
Finland | 146 | 1.6% | |
Austria | 141 | 1.6% | |
Italy | 136 | 1.5% | |
Norway | 133 | 1.5% | |
Brazil | 129 | 1.4% | |
Switzerland | 118 | 1.3% | |
India | 108 | 1.2% | |
Spain | 106 | 1.2% | |
Belgium | 95 | 1.1% | |
Czech Republic | 93 | 1.0% | |
other countries (below 1% resp.) | ~ 1126 | ~ 12.5% | |
Invalid answer / Unknown | 73 | 0.8% | |
Base | 8979 / 11498 |
Description:
Please provide name of the country in English, e.g. 'United States' or 'Germany' (without quotes).
Analysis:
Most responders are from USA among other coutries (35%), followed by Germany, UK, Canada and France (12% to 4%), as seen in the table above.
Most responders are from Europe among other continents (48%), with North America close second (40%), as seem from the table below.
Continent | Count | Perc. | |
---|---|---|---|
Africa | 39 | 0.4% | |
Asia | 414 | 4.6% | |
Europe | 4299 | 47.9% | |
North America | 3591 | 40.0% | |
Oceania | 330 | 3.7% | |
South America | 233 | 2.6% | |
Unknown | 73 | 0.8% | |
02. How old are you (in years)?
(tabularized free-form single line)
Age | Count | Perc. | |
---|---|---|---|
< 18 | 200 | 2.2% | |
18-21 | 883 | 9.9% | |
22-25 | 2085 | 23.3% | |
26-30 | 2834 | 31.7% | |
31-40 | 2336 | 26.1% | |
41-50 | 502 | 5.6% | |
51-75 | 101 | 1.1% | |
76+ | 6 | 0.1% | |
NaN | 2 | 0.0% | |
Base | 8949 / 11498 |
Description:
Please provide simple number, e.g. 25
Analysis:
Most responders are between 26 and 30 years old; most common age (mode) is 27 years old. Youngest user who answered this question is 11 years old (next oldest is 12 years old).
03. Does Git include code or documentation by you? (Are you a Git developer?)
(single choice)
Answer | Count | Perc. | |
---|---|---|---|
Yes | 820 | 9.1% | |
No | 8224 | 90.9% | |
Base | 9044 / 11498 |
Analysis:
820 of Git developers (out of around 910 in all) answered this survey. This is 9.1% of responders who answered this question.
Getting started with Git
04. Have you found Git easy to learn?
(single choice)
Answer | Count | Perc. | |
---|---|---|---|
Very easy | 427 | 4.9% | |
Easy | 2006 | 23.2% | |
Reasonably easy | 4788 | 55.4% | |
Hard | 1338 | 15.5% | |
Very hard | 89 | 1.0% | |
Base | 8648 / 11498 |
05. Have you found Git easy to use?
(single choice)
Answer | Count | Perc. | |
---|---|---|---|
Very easy | 933 | 10.8% | |
Easy | 3205 | 37.1% | |
Reasonably easy | 3799 | 44.0% | |
Hard | 639 | 7.4% | |
Very hard | 57 | 0.7% | |
Base | 8633 / 11498 |
Description:
Both question "3. Have you found Git easy to learn?" and "4. Have you found Git easy to use?" are about being it easy or hard in general; for mathematically inclined you can think about it as a weighted average.
Analysis:
Responders say that Git is reasonably easy to learn, and easy to reasonably easy to use; Git is easier to use than to learn.
Note: When analyzing results for this two questions one 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).
06. Which Git version(s) are you using?
(multiple choice, with other)
Git version | Count | Perc. | |
---|---|---|---|
pre 1.3 | 5 | 0.1% | |
1.3.x | 13 | 0.2% | |
1.4.x | 42 | 0.5% | |
1.5.x | 204 | 2.4% | |
1.6.x | 966 | 11.3% | |
1.7.x | 7703 | 90.2% | |
1.7.x-rcN version (release candidate) | 191 | 2.2% | |
minor (maintenance) release 1.x.y.z | 1153 | 13.5% | |
'master' branch of official git repository | 276 | 3.2% | |
'next' branch of official git repository | 39 | 0.5% | |
'pu' branch of official git repository | 7 | 0.1% | |
version from msysGit / Git for Windows fork repository | 947 | 11.1% | |
JGit implementation (e.g. via Eclipse plugin, EGit) | 481 | 5.6% | |
other git implementation (Git#, Dulwich, etc.) | 101 | 1.2% | |
other, please specify | 160 | 1.9% | |
Base | 8543 / 11498 |
Description:
You can find git version by using "`git --version`" or "`git version`".
"Minor release" is additional specification, so if you for example use git version 1.6.3.3, please check both "1.6.x" and "minor release"; if you use "v1.7.6-rc3" please check both "1.7.x" and "-rcN version".
Analysis:
More than 90% of responders use git version 1.7.x at least at one place. There are 5 unfortunate stragglers who use pre 1.3.x version.
07. Rate your own proficiency with Git:
(single choice)
Answer | Count | Perc. | |
---|---|---|---|
1. novice | 321 | 3.7% | |
2. casual, needs advice | 1643 | 19.0% | |
3. everyday use | 3107 | 35.9% | |
4. can offer advice | 2954 | 34.2% | |
5. know it very well | 619 | 7.2% | |
Base | 8644 / 11498 |
Description:
You can think of it as 1-5 numerical grade of your proficiency in Git.
Analysis:
Responders fall somewhere between 'everyday use' (36%) and 'can offer advice' (34%) proficiency.
Only less that 4% of responders (321 responders) consider themself to be a novice in Git.
How you use Git
08. I use Git for (check all that apply):
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
work projects | 6240 | 82.4% | |
unpaid projects | 6267 | 82.8% | |
proprietary projects | 3249 | 42.9% | |
OSS development (also public domain, and published and unlicensed) | 4860 | 64.2% | |
private stuff (unpublished), in house | 5945 | 78.5% | |
code (programming) and its documentation | 6629 | 87.5% | |
data, documents (also e.g. static website) | 3680 | 48.6% | |
sharing data or sync | 1748 | 23.1% | |
managing configuration files | 3066 | 40.5% | |
backup | 1579 | 20.9% | |
backend for wiki, blog, or other web app | 897 | 11.8% | |
backend for bugtracker / issue tracker | 235 | 3.1% | |
frontend to other SCM (e.g. git-svn) | 1252 | 16.5% | |
other (please specify) | 129 | 1.7% | |
Base | 7572 / 11498 |
Description:
Note that above choices are neither orthogonal nor exclusive.
You might want to check multiple answers even for a single repository.
09. How do/did you obtain Git (install and/or upgrade)?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
binary package | 5566 | 73.9% | |
source package or script (automatic compiling) | 2242 | 29.8% | |
source tarball (extract, make, make install) | 915 | 12.1% | |
pull from (main) repository | 718 | 9.5% | |
preinstalled / sysadmin job | 875 | 11.6% | |
other - please specify (if none of the above apply) | 257 | 3.4% | |
Base | 7531 / 11498 |
Description:
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.
"Source package or script" means that git is compiled from source, but it is installed as system package (easy uninstall / upgrade).
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.
Analysis:
Most people (74%) obtain/install Git at least at one place using ready binary packages.
10. On which operating system(s) do you use Git?
(multiple choice, with other)
Operating System | Count | Perc. | |
---|---|---|---|
GNU/Linux (includes MeeGo) | 6180 | 81.7% | |
*BSD (FreeBSD, OpenBSD, NetBSD, etc.) | 491 | 6.5% | |
MacOS X (Darwin) | 3786 | 50.1% | |
MS Windows/Cygwin | 841 | 11.1% | |
MS Windows/msysGit (MINGW) | 2173 | 28.7% | |
some MS Windows (unknown or other) | 155 | 2.0% | |
Solaris / OpenSolaris / Illuminati / IllumOS | 208 | 2.8% | |
other Unix | 115 | 1.5% | |
Other, please specify | 66 | 0.9% | |
Base | 7562 / 11498 |
Description:
On Unix-based operating system you can get the name of operation system by running 'uname'.
Analysis:
GNU/Linux dominates among operating systems used (82%), then there is MacOS X (50%), then MS Windows (where msysGit is 3 to 1 preferred to Cygwin), with 39%.
11. What Git interfaces, implementations and frontends do you use?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
git (core) commandline | 7396 | 98.2% | |
JGit (Java implementation), e.g. via Eclipse plugin | 778 | 10.3% | |
NGit or Git# (C# implementation) | 57 | 0.8% | |
Dulwich (pure-Python implementation) | 116 | 1.5% | |
Git::PurePerl (Perl implementation) | 35 | 0.5% | |
git.js (JavaScript) | 30 | 0.4% | |
libgit2 bindings | 176 | 2.3% | |
Easy Git | 19 | 0.3% | |
StGIT | 36 | 0.5% | |
Guilt | 7 | 0.1% | |
TopGit | 14 | 0.2% | |
Zit | 3 | 0.0% | |
I don't know, I use only (graphical) tools | 93 | 1.2% | |
Other (please specify) | 1373 | 18.2% | |
Base | 7529 / 11498 |
Analysis:
Almost 10% of responders use JGit.
12. What kind of Git tools do you use?
(multiple choice)
Answer | Count | Perc. | |
---|---|---|---|
editor/IDE VC integration (e.g. EGit, TextMate bundle, magit) | 2612 | 41.2% | |
build tool integration (e.g. git plugin for Maven, gitbuilder, Parabuild) | 682 | 10.8% | |
filemanager / shell extension (e.g. git-cheetah, TortoiseGit) | 817 | 12.9% | |
filesystem interface (e.g. gitfs, figfs) | 63 | 1.0% | |
graphical history viewer/browser (e.g. gitk) | 3908 | 61.6% | |
graphical commit tool (e.g. git-gui) | 1974 | 31.1% | |
graphical diff and/or merge tool (e.g. Kompare, Meld) | 1989 | 31.4% | |
graphical blame or pickaxe tool | 426 | 6.7% | |
tool to manage git repositories (e.g. Gitosis, Gitolite) | 1444 | 22.8% | |
git-instaweb, or self-hosted web interface | 536 | 8.5% | |
self-hosted code review system (e.g. Gerrit) | 362 | 5.7% | |
self-hosted git software forge (e.g. Gitorious, GitHub:FI, InDefero) | 1185 | 18.7% | |
patch management interface (e.g. StGit, Guilt) | 70 | 1.1% | |
tracking some files out-of-band (e.g. git-annex, git-media) | 65 | 1.0% | |
storing metadata (e.g. metastore, gitperms, git-cache-meta) | 32 | 0.5% | |
managing composite repositories (e.g. git-subtree, gitslave, repo) | 224 | 3.5% | |
my own scripts (for daily use) | 1105 | 17.4% | |
my own scripts (for special tasks) | 1057 | 16.7% | |
Base | 6343 / 11498 |
Description:
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)".
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.
Analysis:
62% of responders use some kind of graphical history viewer, and 41%
use Git support integrated with editor/IDE. Graphical diff and
graphical commit tool are used by around 31% of responders.
13. List git tools that you use (optional)
(free-form essay)
TO TABULARIZE 1858 / 11498 non-empty responses
14. What do you use submodules (or their equivalent) for?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
I don't use submodules at all | 4466 | 63.5% | |
I use submodules (git-submodule) | 2050 | 29.2% | |
I use repo | 273 | 3.9% | |
I use git-subtree | 176 | 2.5% | |
I use gitslave | 16 | 0.2% | |
to import repositories maintained by others (in subdirectory) | 1313 | 18.7% | |
for your own (or your organization's) code shared between different projects | 1084 | 15.4% | |
to separate large and/or many files for performance reasons | 168 | 2.4% | |
to separate data which you don't want (or aren't allowed) to disclose | 191 | 2.7% | |
Other, please specify | 129 | 1.8% | |
Base | 7029 / 11498 | 61.1% |
15. How do you include changes in a new commit?
(matrix)
Answer | never | rarely | often | Avg. / Count | ||||
---|---|---|---|---|---|---|---|---|
commit -a | 1444 | 19.4% | 2164 | 29.0% | 3846 | 51.6% | 2.3 (3) / 7454 |
|
commit <file> | 2986 | 40.1% | 1965 | 26.4% | 2278 | 30.6% | 1.9 (3) / 7229 |
|
commit -i <file> | 4814 | 64.6% | 1226 | 16.4% | 786 | 10.5% | 1.4 (3) / 6826 |
|
git add | 381 | 5.1% | 1033 | 13.9% | 5066 | 68.0% | 2.7 (3) / 6480 |
|
git stage | 5012 | 67.2% | 969 | 13.0% | 332 | 4.5% | 1.3 (3) / 6313 |
|
git update-index | 5532 | 74.2% | 548 | 7.4% | 145 | 1.9% | 1.1 (3) / 6225 |
|
incremental add / commit | 2726 | 36.6% | 1681 | 22.6% | 1782 | 23.9% | 1.8 (3) / 6189 |
|
graphical commit tool | 3553 | 47.7% | 1194 | 16.0% | 1367 | 18.3% | 1.6 (3) / 6114 |
|
filemanager extension | 5089 | 68.3% | 457 | 6.1% | 223 | 3.0% | 1.2 (3) / 5769 |
|
Base | 7454 / 11498 |
16. Which of the following features do you use?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
git bundle (off-line transport) | 505 | 8.0% | |
eol conversion (crlf) | 1381 | 21.9% | |
custom diff/merge driver | 866 | 13.7% | |
textconv | 89 | 1.4% | |
word diff | 893 | 14.2% | |
gitattributes (other than above) | 356 | 5.6% | |
merge strategy options (e.g. -Xrenormalize) | 266 | 4.2% | |
submodules (subprojects) | 1995 | 31.6% | |
subtree merge (optionally git-subtree) | 305 | 4.8% | |
partial (sparse) checkout | 349 | 5.5% | |
assume-unchanged bit | 148 | 2.3% | |
separate worktree / core.worktree | 154 | 2.4% | |
multiple worktrees (git-new-worktree) | 176 | 2.8% | |
gitdir mechanism ('.git' file pointing to repository) | 171 | 2.7% | |
alternates mechanism (sharing object database) | 141 | 2.2% | |
stash (optionally "git stash --keep-index") | 4395 | 69.7% | |
shallow clone (e.g. "git clone --depth=<n>") | 515 | 8.2% | |
detaching HEAD (e.g. "git checkout HEAD^0") | 1817 | 28.8% | |
commit message templates | 398 | 6.3% | |
interactive commit / per-hunk comitting / partial commit | 2300 | 36.5% | |
interactive rebase (small scale history editing) | 2792 | 44.3% | |
git-filter-branch or equivalent (large history rewriting) | 829 | 13.1% | |
bisect (optionally "git bisect run <script>") | 1908 | 30.3% | |
tracking code movement with git-blame ("git blame -M" etc.) | 2003 | 31.8% | |
advanced history examination (pickaxe search, ancestor only, etc.) | 502 | 8.0% | |
committing with dirty tree (keeping some changes uncommitted) | 2681 | 42.5% | |
non-default hooks (from contrib/hooks/ or other) | 924 | 14.7% | |
shell completion of commands | 3145 | 49.9% | |
git-aware shell prompt | 2264 | 35.9% | |
git aliases, shell aliases for git, or own git scripts | 2700 | 42.8% | |
one-way interaction with other SCMs (from SCM to git) | 880 | 14.0% | |
two-way interaction with other SCMs (git as fat client) | 898 | 14.2% | |
git cvsserver | 35 | 0.6% | |
git notes | 214 | 3.4% | |
replace meachanism (git replace) | 32 | 0.5% | |
permanent grafts (not only as a way to do filter-branch) | 62 | 1.0% | |
Other, please specify | 86 | 1.4% | |
Base | 6306 / 11498 |
Analysis:
Most popular feature, by quite a large margin, is stash, with two thirds (69.7%) of responses. "git stash" first appeared in git version 1.5.3, from September 2007.
Second most common used feature is "shell completion of commands", with half of responses (49.9%).
Then there are, with percentage of responses from 45% to 42%, in descending order of responders: interactive rebase, aliases (git aliases, shell aliases, one's own git scripts), and comitting with dirty tree (keeping some changes uncommitted).
Least used, with only 0.5% of responses, is "git cvsserver" and "replace mechanism (git replace)".
17. Which of the following features would you like to see implemented in git?
(multiple choice)
Answer | Count | Perc. | |
---|---|---|---|
better support for big files (large media) | 2202 | 35.3% | |
resumable clone/fetch (and other remote operations) | 1523 | 24.4% | |
GitTorrent Protocol, or git-mirror | 830 | 13.3% | |
lazy clone / on-demand fetching of object | 772 | 12.4% | |
subtree clone | 816 | 13.1% | |
support for tracking empty directories | 2045 | 32.8% | |
environment variables in config | 520 | 8.3% | |
better undo/abort/continue, and for more commands | 1420 | 22.8% | |
'-n' like option for each command, which describes what would happen | 1968 | 31.5% | |
warn before/when rewriting published history | 1525 | 24.4% | |
side-by-side diffs and/or color-words diff in gitweb | 1109 | 17.8% | |
admin and/or write features in gitweb | 336 | 5.4% | |
graphical history view in gitweb | 932 | 14.9% | |
GUI for rebase in git-gui | 1013 | 16.2% | |
GUI for creating repository in git-gui | 382 | 6.1% | |
graphical diff/merge tool integrated with git-gui | 840 | 13.5% | |
syntax highlighting in git-gui | 816 | 13.1% | |
filename encoding (in repository vs in filesystem) | 327 | 5.2% | |
git push --create | 1553 | 24.9% | |
localization of command-line messages (i18n) | 214 | 3.4% | |
wholesame directory rename detection | 955 | 15.3% | |
union checkouts (some files from one branch, some from other) | 385 | 6.2% | |
advisory locking / "this file is being edited" | 397 | 6.4% | |
"commands issued" (or "command equivalents") in git-gui / gitk | 309 | 5.0% | |
built-in gitjour/bananajour support | 206 | 3.3% | |
better support for submodules | 1582 | 25.3% | |
other (described below) | 323 | 5.2% | |
Base | 6241 / 11498 |
Analysis:
Most requested features, both with more of 32% responders, are better support for big files / large media, and support for tracking empty directories.
18. Describe what features would you like to have in Git,
if they are not present on the list above (in previous question)
(free-form essay)
TO TABULARIZE 828 / 11498 non-empty responses
Interacting with other repositories
19. 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)
Answer | Count | Perc. | |
---|---|---|---|
repo.or.cz | 197 | 2.8% | |
GitHub | 6179 | 87.5% | |
Gitorious | 828 | 11.7% | |
Google Code | 579 | 8.2% | |
InDefero | 33 | 0.5% | |
Savannah | 41 | 0.6% | |
SourceForge | 351 | 5.0% | |
BerliOS | 25 | 0.4% | |
Assembla | 192 | 2.7% | |
Codebase | 88 | 1.2% | |
Unfuddle | 144 | 2.0% | |
Codesion | 14 | 0.2% | |
GitFarm | 5 | 0.1% | |
ProjectLocker | 34 | 0.5% | |
The Chaw | 2 | 0.0% | |
Beanstalk | 124 | 1.8% | |
CipherHive | 0 | 0.0% | |
kernel.org | 72 | 1.0% | |
freedesktop.org | 46 | 0.7% | |
Alioth | 63 | 0.9% | |
debian-hosted | 90 | 1.3% | |
Fedora Hosted | 36 | 0.5% | |
git hosting site for set of related projects (e.g. OLPC) | 109 | 1.5% | |
generic site without git support | 138 | 2.0% | |
company internal | 2180 | 30.9% | |
self hosted | 2658 | 37.6% | |
Other (please specify) | 253 | 3.6% | |
Base | 7061 / 11498 |
Description:
You can find those and other git hosting sites listed on GitHosting page.
Analysis:
The leader among git hosting sites is (like in previous years) GitHub with 87% of responders (up from 77% in 2010 and 62% in 2009); "self hosted" is second with 38% (down from 44% in 2010 and 57% in 2009), followed by "company internal" with 31%.
The high position of GitHub migh 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 2011" to GitHub users.
20. Do you use paid git hosting, and if so, why?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
N/A (don't use paid git hosting) | 4423 | 63.8% | |
private repositories | 2461 | 35.5% | |
increased limits (repository size, number of repositories) | 589 | 8.5% | |
paid support / help | 84 | 1.2% | |
extra features compared to free plan / free hosting | 326 | 4.7% | |
other, please specify | 123 | 1.8% | |
Base | 6928 / 11498 |
Analysis:
Most responders do not use paid git hosting (64%); those that pay for
git hosting do it mainly for private repositories (35%).
21. If you self-host git repositories, what tools do you use?
(if you are hosting git repositories, and use those tools)
(multiple choice, with other)
Answer | Count | Perc. | ||
---|---|---|---|---|
gitosis | 1063 | 36.3% | | |
gitolite | 729 | 24.9% | | |
Gitblit | 4 | 0.1% | | |
SCM Manager | 19 | 0.6% | | |
gitweb | 918 | 31.3% | | |
cgit | 295 | 10.1% | | |
Gitalist | 21 | 0.7% | | |
ViewGit | 22 | 0.8% | | |
GitPHP / git-php | 45 | 1.5% | | |
GitHub:FI | 91 | 3.1% | | |
Gitorious | 283 | 9.7% | | |
InDefero | 29 | 1.0% | | |
Girocco (used e.g. by repo.or.cz) | 6 | 0.2% | | |
repo | 110 | 3.8% | | |
Gerrit | 241 | 8.2% | | |
other management / collaboration git tool | 266 | 9.1% | | |
Base | 2932 / 11498 | 25.5% |
Analysis:
From those that self-host git repositories (2932 / 11498) more use
unmaintained(?) Gitosis (36%) than Gitolite (25%).
Gitweb web interface (distributed and developed with git) is also popular (31%); among pure web interfaces only cgit has significant share (10%).
22. How do you fetch/get changes from upstream repositories?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
git protocol (e.g. git://example.com/repo.git) | 5371 | 76.1% | |
ssh (e.g. ssh://example.com/repo.git or user@example.com:/repo.git) | 5365 | 76.0% | |
http (e.g. http://example.com/repo.git) | 3277 | 46.4% | |
rsync (DEPRECATED) (e.g. rsync://example.com/repo.git) | 20 | 0.3% | |
filesystem (e.g. /path/to/repo.git or file:///path/to/repo.git) | 1567 | 22.2% | |
via git-bundle | 139 | 2.0% | |
foreign SCM import / script like git-svn | 899 | 12.7% | |
Other, please specify | 78 | 1.1% | |
Base | 7062 / 11498 |
Description:
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).
Analysis:
git:// protocol and SSH have the same popularity for fetching; both around 76%. Only 46% responders use HTTP for fetching (somewhere). Deprecated rsync protocol is used only by 20 responders (0.3%).
23. How do you publish/propagate your changes?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
push via SSH | 5701 | 80.1% | |
push via HTTP or HTTPS | 2024 | 28.4% | |
push via git protocol | 3433 | 48.2% | |
push (unknown) | 434 | 6.1% | |
pull request (+ any form of announcement / notification) | 1465 | 20.6% | |
format-patch + email | 727 | 10.2% | |
format-patch + other (e.g. reviewboard, issue tracker or forum) | 333 | 4.7% | |
git bundle | 133 | 1.9% | |
git-svn (to Subversion repository) | 938 | 13.2% | |
git-p4 (to Perforce repository) | 41 | 0.6% | |
foreign SCM interface (other than mentioned above) | 63 | 0.9% | |
other - please specify | 86 | 1.2% | |
Base | 7116 / 11498 |
Description:
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.)
NOTE: "push via git protocol" was to mean push to URL which looks like `git://git.example.com/repo` but was probably misunderstood.
Other version control systems
24. What other version control systems do you use beside Git?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
PVCS | 22 | 0.4% | |
SCCS | 16 | 0.3% | |
RCS | 165 | 3.2% | |
CVS | 975 | 18.6% | |
Subversion | 4261 | 81.4% | |
Perforce | 366 | 7.0% | |
ClearCase | 205 | 3.9% | |
AccuRev SCM | 14 | 0.3% | |
StarTeam | 23 | 0.4% | |
Visual SourceSafe | 114 | 2.2% | |
Vault | 9 | 0.2% | |
Team Foundation Server | 181 | 3.5% | |
Visual Studio Team System / ALM | 30 | 0.6% | |
Rational Team Concert | 16 | 0.3% | |
Bazaar | 492 | 9.4% | |
Mercurial | 1633 | 31.2% | |
Monotone | 30 | 0.6% | |
Darcs | 175 | 3.3% | |
SVK | 24 | 0.5% | |
Fossil | 72 | 1.4% | |
Veracity | 11 | 0.2% | |
BitKeeper | 12 | 0.2% | |
Code Co-Op | 1 | 0.0% | |
Teamware | 7 | 0.1% | |
Plastic SCM | 13 | 0.2% | |
by hand / own scripts / custom | 179 | 3.4% | |
other, please specify | 93 | 1.8% | |
Base | 5232 / 11498 | 45.5% |
Comment:
The question about other version control systems was lacking the
"N/A (I use only Git)" answer; in fact presence or absence of N/A
answer is quite inconsistent in this year survey.
Analysis:
Most popular other version contsol systems used alongside or as an
alternative to Git are Subversion (81%), followed after a large gap by
Mercurial (31%).
What you think of Git
25. Overall, how happy are you with Git?
(single choice)
Answer | Count | Perc. | |
---|---|---|---|
unhappy | 42 | 0.6% | |
not so happy | 223 | 3.1% | |
happy | 1624 | 22.5% | |
very happy | 3909 | 54.1% | |
completely ecstatic | 1425 | 19.7% | |
Base | 7223 / 11498 |
Analysis:
Most responders are "very happy" with Git, and this answer seems to be a center of responses.
26. In your opinion, which areas in Git need improvement?
Please state your preference.
(matrix)
Answer | don't care | don't need | a little | some | much | Avg. / Count | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
user-interface | 856 | 12.2% | 997 | 14.2% | 1848 | 26.3% | 1988 | 28.3% | 1329 | 18.9% | 3.3 (5) / 7018 |
|
documentation | 314 | 4.5% | 1238 | 17.6% | 2408 | 34.3% | 2170 | 30.9% | 808 | 11.5% | 3.3 (5) / 6938 |
|
performance | 882 | 12.6% | 4028 | 57.4% | 1278 | 18.2% | 510 | 7.3% | 155 | 2.2% | 2.3 (5) / 6853 |
|
portability | 1772 | 25.2% | 2439 | 34.8% | 1109 | 15.8% | 895 | 12.8% | 568 | 8.1% | 2.4 (5) / 6783 |
|
more features | 1116 | 15.9% | 2350 | 33.5% | 2290 | 32.6% | 839 | 12.0% | 157 | 2.2% | 2.5 (5) / 6752 |
|
tools (e.g. GUI) | 1318 | 18.8% | 1367 | 19.5% | 1490 | 21.2% | 1570 | 22.4% | 985 | 14.0% | 2.9 (5) / 6730 |
|
localization (translation) | 3773 | 53.8% | 2075 | 29.6% | 475 | 6.8% | 265 | 3.8% | 119 | 1.7% | 1.6 (5) / 6707 |
|
community (mailing list) | 3619 | 51.6% | 2136 | 30.4% | 713 | 10.2% | 134 | 1.9% | 49 | 0.7% | 1.6 (5) / 6651 |
|
community (IRC) | 3677 | 52.4% | 1988 | 28.3% | 588 | 8.4% | 137 | 2.0% | 51 | 0.7% | 1.6 (5) / 6441 |
|
Base | 7018 / 11498 |
Analysis:
User interface, documentation and tools need improvement; performance rather doesn't need to be improved; 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)
27. Did you participate in previous Git User's Surveys?
(multiple choice)
Answer | Count | Perc. | |
---|---|---|---|
in 2006 | 43 | 0.6% | |
in 2007 | 84 | 1.2% | |
in 2008 | 225 | 3.1% | |
in 2009 | 619 | 8.7% | |
in 2010 | 1107 | 15.5% | |
I don't remember, but I have participated in the past | 1127 | 15.8% | |
none of above (first Git User's Survey) | 5026 | 70.3% | |
Base | 7153 / 11498 |
28. How do you compare the current Git version with the version from one year ago?
(single choice)
Answer | Count | Perc. | |
---|---|---|---|
better | 2345 | 32.8% | |
no changes | 1109 | 15.5% | |
worse | 2 | 0.0% | |
cannot say | 3683 | 51.6% | |
Base | 7139 / 11498 |
Description:
The version from approximately one year ago is 1.7.2 from 21-07-2011 (1.7.3 is from 18-09-2010).
Changes since 1.7.2 include:
- passing extra options to merge strategy via "-X" in more places
- -Xrename-threshold and -Xignore-space-at-eol for recursive merge strategy
- "exec" instruction support in interactive rebase
- system-wide attributes file /etc/gitattributes and `core.attributesfile`
- completion of commands for bash 4 and zsh
- [<tree>]:./<path> to use path relative to current directory
- ":/<path>" to use path relative to root of working tree hierarchy
- ":/" magic pathspec to work on entire working tree
- "git log -G"
- globbing pathspecs in "git log"
- git log --cherry and --cherry-mark
- "git notes merge" and --notes option to "git log" and friends
- extending "git shell" with custom set of commands
- beginnings of i18n/l10n and translations
- "git checkout --detach"
- "git cherry-pick" and "git revert" improvements
- "git merge" and "git rebase" now DWIMs to upstream
- "git merge -" to merge the previous branch
- `merge.ff` configuration variable
- selecting common timezone in gitweb with JavaScript
- updated (faster and more robust) content tags (labels) in gitweb
- GIT_PREFIX in "[alias] <name> = !process"
- git diff --dirstat=0 and --dirstat=lines
- and more...
See individual RelNotes for more details
Documentation. Getting and giving help.
29. How useful have you found the following forms of Git documentation?
(matrix)
Answer | never used | not useful | somewhat | useful | Avg. / Count | |||||
---|---|---|---|---|---|---|---|---|---|---|
Git Wiki | 3045 | 43.8% | 214 | 3.1% | 2362 | 34.0% | 1333 | 19.2% | 2.3 (4) / 6954 |
|
Git Reference site | 2078 | 29.9% | 204 | 2.9% | 2454 | 35.3% | 2147 | 30.9% | 2.7 (4) / 6883 |
|
on-line help | 881 | 12.7% | 148 | 2.1% | 2580 | 37.1% | 3181 | 45.7% | 3.2 (4) / 6790 |
|
help distributed with git | 1149 | 16.5% | 448 | 6.4% | 2355 | 33.9% | 2753 | 39.6% | 3.0 (4) / 6705 |
|
printed books (or ebooks) | 3501 | 50.3% | 202 | 2.9% | 1262 | 18.1% | 1506 | 21.7% | 2.1 (4) / 6471 |
|
Base | 6954 / 11498 |
Description:
- Git Wiki can be found at http://git.wiki.kernel.org
- Git Reference site can be found at http://gitref.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/
30. What channel(s) did you use to request help?
(multiple choice, with other)
Channel | Count | Perc. | |
---|---|---|---|
N/A (didn't request help about Git) | 2589 | 39.6% | |
git mailing list (git@vger.kernel.org) | 275 | 4.2% | |
msysGit mailing list / Google Group | 54 | 0.8% | |
"Git for Human Beings" Google Group | 63 | 1.0% | |
IRC (#git) | 680 | 10.4% | |
IRC (other git/SCM related, e.g. #github) | 179 | 2.7% | |
IRC (other than above) | 303 | 4.6% | |
request in blog post or on wiki | 240 | 3.7% | |
asking git guru/colleague | 2072 | 31.7% | |
project mailing list, or IRC, or forum | 319 | 4.9% | |
Twitter or other microblogging platform | 590 | 9.0% | |
instant messaging (IM) like XMPP/Jabber | 502 | 7.7% | |
StackOverflow or other StackExchange site | 2332 | 35.7% | |
other (please specify) | 326 | 5.0% | |
Base | 6538 / 11498 |
Analysis:
Most used way to request help about Git (help 'channel') is asking on StackOverflow or other StackExchange site, with 36% of responders (!), slightly higher than previous year winner of asking somebody better versed in Git personally, with 32%.
Note that this year responses will require processing to be able to compare with results from previous surveys, as in this survey we have "N/A (didn't request help)" answer with 40% of responses.
31. What gave you most trouble learning, understanding and using Git?
(free-form essay)
TO TABULARIZE 2907 / 11498 non-empty responses
32. Which communication channel(s) do you use?
Do you read the mailing list, or watch IRC channel?
(multiple choice)
Channel | Count | Perc. | |
---|---|---|---|
git@vger.kernel.org (main) | 387 | 38.0% | |
Git for Human Beings (Google Group) | 120 | 11.8% | |
msysGit | 108 | 10.6% | |
#git IRC channel | 537 | 52.8% | |
#git-devel IRC channel | 35 | 3.4% | |
#github or #gitorious IRC channel | 210 | 20.6% | |
#revctrl IRC channel | 5 | 0.5% | |
Base | 1018 / 11498 |
33. Did you give help about Git? What medium did you use?
(multiple choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
N/A (didn't give help about Git) | 1223 | 20.4% | |
talk / private explanation | 4287 | 71.7% | |
comment on somebody else blog | 725 | 12.1% | |
IRC channel | 1017 | 17.0% | |
presentation / seminar | 587 | 9.8% | |
workshop or other form of schooling / training | 380 | 6.4% | |
blog post / webpage | 604 | 10.1% | |
article in magazine | 27 | 0.5% | |
book or ebook | 79 | 1.3% | |
git mailing list | 116 | 1.9% | |
other mailing list | 250 | 4.2% | |
1320 | 22.1% | | |
Usenet (newsgroup) | 16 | 0.3% | |
instant messaging (IM) like XMPP/Jabber | 1234 | 20.6% | |
forum or wiki | 435 | 7.3% | |
StackOverflow or similar | 834 | 13.9% | |
remote aid / control tool, like FogCreek Copilot | 45 | 0.8% | |
Other, please specify | 87 | 1.5% | |
Base | 5982 / 11498 | 52.0% |
Analysis:
Compared to "getting help" question, 72% of responders gave help via talk / private explanation, i.e. answered questions about Git from colleaugue. Around the same number (about 20%) didn't give help about Git as gave help via email or instant messaging. Note that only 14% of responders gave help via StackOverflow or similar site... but such posting would serve large number of people requesting / searching for help.
34. What gave you most trouble explaining and teaching Git?
(free-form essay)
TO TABULARIZE 1422 / 11498 non-empty responses
About this survey.
35. How did you hear about this Git User's Survey?
(single choice, with other)
Answer | Count | Perc. | |
---|---|---|---|
git mailing list | 230 | 3.3% | |
git-related mailing list (msysGit, Git for Human Beings, ...) | 53 | 0.8% | |
mailing list or forum of some project | 225 | 3.2% | |
#git IRC channel topic | 23 | 0.3% | |
announcement on IRC channel | 66 | 0.9% | |
git homepage | 251 | 3.6% | |
git wiki | 20 | 0.3% | |
git hosting site | 1315 | 18.7% | |
software-related web site | 308 | 4.4% | |
news web site or social news site (e.g. Digg, Reddit) | 1592 | 22.7% | |
blog (or blog planet) | 649 | 9.2% | |
other kind of web site | 117 | 1.7% | |
Twitter or other microblogging platform | 572 | 8.1% | |
Google+, Facebook, or other social platform | 314 | 4.5% | |
other - please specify | 1287 | 18.3% | |
Base | 7022 / 11498 |