GitSurvey2008

From Git SCM Wiki
Jump to: navigation, search

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 2008 summary

The Git User's Survey 2008 has been closed on October 14, 2008.

The survey could be found here:

You can get raw data (individual responses) for the survey here:

Or even better, as long as the survey is not 100% evaluated, do

Results of the survey:

There were 3236 individual responses, including 21 responses in 'test' channel
There were 683 individual responses in GitSurvey2007, and around 117 responses in GitSurvey2006.

Please do not add survey data on this page


Table of contents:

Contents


Tabular Results

About you

01. What country do you live in?

(free-form question)


Reply Count Perc.
Afghanistan 1 0.0%
Argentina 17 0.5%
Australia 100 3.1%
Austria 39 1.2%
Bangladesh 1 0.0%
Belarus 2 0.1%
Belgium 31 1.0%
Brazil 67 2.1%
Bulgaria 5 0.2%
Canada 123 3.8%
Chile 11 0.3%
China 34 1.1%
Colombia 6 0.2%
Croatia 6 0.2%
Cuba 1 0.0%
Cyprus 1 0.0%
Czech Republic 30 0.9%
Denmark 34 1.1%
Dominican Republic 2 0.1%
Egypt 2 0.1%
Estonia 5 0.2%
Finland 35 1.1%
France 93 2.9%
Germany 324 10.0%
Greece 7 0.2%
Hungary 5 0.2%
Iceland 3 0.1%
India 37 1.1%
Indonesia 1 0.0%
Iran 1 0.0%
Ireland 11 0.3%
Israel 16 0.5%
Italy 43 1.3%
Japan 18 0.6%
Korea 1 0.0%
Latvia 3 0.1%
Lebanon 1 0.0%
Lithuania 4 0.1%
Macedonia 1 0.0%
Malaysia 1 0.0%
Mexico 12 0.4%
Moldova 1 0.0%
Netherlands 58 1.8%
New Zealand 36 1.1%
Norway 52 1.6%
Paraguay 1 0.0%
Peru 3 0.1%
Philippines 3 0.1%
Poland 69 2.1%
Portugal 15 0.5%
Romania 18 0.6%
Russia 47 1.5%
Saudi Arabia 1 0.0%
Serbia 3 0.1%
Singapore 8 0.2%
Slovakia 1 0.0%
Slovenia 6 0.2%
South Africa 12 0.4%
Spain 50 1.5%
Sri Lanka 2 0.1%
Sweden 63 1.9%
Switzerland 58 1.8%
Taiwan 6 0.2%
Tanzania 1 0.0%
Thailand 3 0.1%
Tunisia 1 0.0%
Turkey 1 0.0%
Uganda 1 0.0%
Ukraine 12 0.4%
United Arab Emirates 1 0.0%
United Kingdom 192 5.9%
Uruguay 3 0.1%
USA 991 30.6%
Venezuela 1 0.0%
Vietnam 1 0.0%
European Union (sum) 1142 40.0%
Invalid answer 6 0.2%
Not answered 379 11.7%
Total responders 2857


As one can easily see, slightly less than third of Git users (30.6%) are in the USA (those who answered this survey). Next of countries is Germany with around 10.0% responses. More than third of respondents, around two fifths (40.0%) are in European Union.

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


02. How old are you (in years)?

(free-form question)


Reply Count Perc. Group Count
13 3 0.1% < 18 39
15 7 0.2%
16 8 0.2%
17 21 0.6%
18 38 1.2% 18-21 260
19 40 1.2%
20 81 2.5%
21 101 3.1%
22 151 4.7% 22-25 751
23 182 5.6%
24 192 5.9%
25 226 7.0%
26 209 6.5% 26-30 902
27 184 5.7%
28 206 6.4%
29 159 4.9%
30 144 4.4%
30+ 4 0.1% 31-40 701
31 132 4.1%
32 107 3.3%
33 89 2.8%
34 68 2.1%
35 90 2.8%
36 58 1.8%
37 51 1.6%
38 47 1.5%
39 27 0.8%
40 28 0.9%
41 19 0.6% 41-50 142
42 21 0.6%
43 23 0.7%
44 17 0.5%
45 14 0.4%
46 17 0.5%
47 8 0.2%
48 10 0.3%
49 8 0.2%
50 5 0.2%
51 5 0.2% 51-75 31
52 6 0.2%
53 3 0.1%
54 4 0.1%
55 1 0.0%
56 1 0.0%
57 2 0.1%
59 1 0.0%
60 1 0.0%
62 1 0.0%
64 2 0.1%
66 1 0.0%
67 1 0.0%
69 2 0.1%
Invalid answer 5 0.2% - 410
Not answered 405 12.5%
Total responders 2831

Youngest git user who answered this survey is 13 years old, oldest is 69 years old. This is quite a span, I'd say. The age of 25 got most count (226 answers). Most people are in 26-30 range span (902 or 31.9% total).


03. With which programming languages are you proficient?

This is multiple choice question (you can be proficient in more than one programming language), with option of specifying comma separated list of additional programming languages.


Reply Count Perc.
C 1780 55.0%
shell 1511 46.7%
Ruby 1406 43.4%
JavaScript 1283 39.6%
Java 1191 36.8%
C++ 1166 36.0%
PHP 1147 35.4%
Python 1084 33.5%
Perl 829 25.6%
Assembly 421 13.0%
C# 412 12.7%
Common Lisp or Scheme 265 8.2%
Emacs Lisp 202 6.2%
Visual Basic 194 6.0%
Delphi 98 3.0%
Tcl/Tk 89 2.8%
Haskell 80 2.5%
Objective-C 75 2.3%
Erlang 54 1.7%
ActionScript 32 1.0%
OCaml 31 1.0%
Lua 29 0.9%
Fortran 23 0.7%
sed or awk * 19 0.6%
TeX/LaTeX * 19 0.6%
Matlab, Octave 18 0.6%
Smalltalk 18 0.6%
Prolog 17 0.5%
HTML, XHTML * 16 0.5%
Pascal 16 0.5%
CSS * 12 0.4%
ML, SML, Caml 11 0.3%
R 11 0.3%
SQL 11 0.3%
Scala 9 0.3%
D 8 0.2%
Forth 8 0.2%
Groovy 8 0.2%
ColdFusion 7 0.2%
VHDL 7 0.2%
BASIC 7 0.2%
Adobe Flex 6 0.2%
Vala 6 0.2%
Ada 5 0.2%
AppleScript 5 0.2%
PL/SQL 5 0.2%
Verilog 5 0.2%
XSLT 5 0.2%
Python 4 0.1%
REXX 4 0.1%
VimScript 4 0.1%
Other 87 2.7%
I am not programmer 47 1.5%
Invalid answer 2 0.1%
Not answered 343 10.6%
Total responders 2893

(*) There are usually a lot more people who are proficient with this language, but it is not considered as a real programming language by many people. This means that there might be responders who know this language, but didn't put it as a reply to this question.

Every explicitly named programming languages with less then 4 users is put into "Other".

The table is sorted by the number of replies.

Around 2893 (89.4%) people answered this question. C is most popular with 55%; a bit suprisingly shell script programming is second with 47%, a bit more than Ruby with 43%. More people are proficient with Python, around 1/3, than in Perl, around 1/4. Few people (89 responses, around 4%) feel proficient in Tcl/Tk, which means shallow pool of possible git-gui and gitk contributors. Java is quite popular with around 37%, which gives hope in continued JGit/EGit development.

And finally 47 responses (around 1.5%) of "I am not a programmer". That's nice.

TIOBE Programming Community Index for October 2008 (gives an indication of the popularity of programming languages) states:


Programming language Ratings Oct 2008 Delta Oct 2007
Java 20.949% -0.67%
C 15.565% +0.97%
C++ 10.954% +1.37%
(Visual) Basic 9.811% -1.35%
PHP 8.612% -0.89%
Python 4.565% +1.13%
Perl 4.419% -0.93%
C# 3.767% +0.03%
Delphi 3.288% +1.75%
Ruby 2.860% +0.47%
JavaScript 2.670% -0.01%

Programming languages used by Git, not including `contrib/` section, are marked in bold in table of replies. As one can see C is most popular programming language. Shell is more known that Perl. There are a few (below 100 replies for around 3000 responses to this question, i.e. around 2.8%) people who are proficient in Tcl/Tk, the programming language used for gitk history viewer and git-gui commit tool.

You can check what are the contributions of each programming language to Git code at Git Code Analysis at Ohloh. In the table below there is shown state on the end of October 2008.


Language LoC [%]
C 51%
shell script 30%
Perl 11%
Tcl/Tk 5%
Other 2%


Getting started with Git

04. How did you hear about Git?

(Multiple choice questions with free-form parts.)


Reply Count Perc.
Linux kernel news 785 27%
news site or magazine 536 19%
blog entry 993 35%
some project uses it 1117 39%
required at work 199 7%
presentation or seminar 294 10%
SCM research 457 16%
IRC 253 9%
mailing list 285 10%
told by friend 516 18%
word of mouth 622 22%
Other (please specify) 226 8%
Total responders 2865

Most people heard about Git because some project uses it (or started using it), and from blog posts (39-35%). Linux kernel news, such as (currently on hiatus) KernelTrap, or (no longer updated) Kernel Traffic, or LWN.net are third with 27%, close to word of mouth (22%).

The free-form part of this question is not yet analyzed; but there are only around 8% of free-form answers (i.e. other source).


05. Did you find Git easy to learn?

(single choice question)


Reply Count Perc.
Very hard 70 2.2%
Hard 500 15.5%
Reasonably 1488 46.0%
Easy 638 19.7%
Very easy 166 5.1%
Not answered 374 11.6%


06. What helped you most in learning to use it?

(Results of free-form questions will follow.)

07. What did you find hardest in learning and using Git?

(Results of free-form questions will follow.)

08. Which Git version(s) are you using?

(multiple choice question)


Reply Count Perc.
pre 1.3 11 0.3%
1.3.x 10 0.3%
1.4.x 77 2.4%
1.5.x 1957 60.5%
1.6.x 1137 35.1%
'master' branch of official git repository 244 7.5%
'next' branch of official git repository 42 1.3%
Not answered 415 12.8%


09. How long do you use Git?

(single choice question)


Reply Count Perc.
I don't remember 16 0.5%
from the beginning 72 2.2%
more than 2 years 94 2.9%
1-2 year 463 14.3%
6-12 months 755 23.3%
3-6 months 746 23.1%
1-3 months 539 16.7%
less than month 163 5.0%
never 14 0.4%
Not answered 374 11.6%


10. Rate your own proficiency with Git:

(single choice question)


Reply Count Perc.
novice 215 6.6%
casual, needs advice 644 19.9%
everyday use 1233 38.1%
can offer advice 666 20.6%
know it very well 104 3.2%
Not answered 374 11.6%


11. Does git.git repository include code produced by you?

(single choice question)


Reply Count Perc.
No 2559 79.1%
Yes 243 7.5%
Not answered 434 13.4%


Other SCMs

12. What other SCM did or do you use?

(single choice per row)


SCM Never Used it Still use Not answered
SCCS 1605 49.6% 140 4.3% 11 0.3% 1480 45.7%
RCS 1192 36.8% 585 18.1% 93 2.9% 1366 42.2%
CVS 295 9.1% 1790 55.3% 413 12.8% 738 22.8%
Subversion 96 3.0% 971 30.0% 1696 52.4% 473 14.6%
Arch (or clone) 1520 47.0% 236 7.3% 7 0.2% 1473 45.5%
Bazaar-NG 1335 41.3% 375 11.6% 129 4.0% 1397 43.2%
Darcs 1374 42.5% 382 11.8% 80 2.5% 1400 43.3%
Mercurial 1135 35.1% 552 17.1% 256 7.9% 1293 40.0%
Monotone 1591 49.2% 149 4.6% 21 0.6% 1475 45.6%
SVK 1461 45.1% 322 10.0% 23 0.7% 1430 44.2%
AccuRev 1724 53.3% 6 0.2% 3 0.1% 1503 46.4%
Perforce 1479 45.7% 254 7.8% 106 3.3% 1397 43.2%
BitKeeper 1594 49.3% 163 5.0% 4 0.1% 1475 45.6%
ClearCase 1540 47.6% 222 6.9% 60 1.9% 1414 43.7%
MS Visual SourceSafe 1351 41.7% 554 17.1% 28 0.9% 1303 40.3%
MS Visual Studio Team System 1660 51.3% 75 2.3% 10 0.3% 1491 46.1%
PVCS 1631 50.4% 135 4.2% 8 0.2% 1462 45.2%
custom (not public) 1566 48.4% 126 3.9% 34 1.1% 1510 46.7%
other 1461 45.1% 136 4.2% 41 1.3% 1598 49.4%


13. Why did you choose/use Git? (if you use Git). What do you like about using Git?

(Results of free-form questions will follow.)

14. Why did you choose/use other SCMs? (if you use other SCMs). What do you like about using other SCMs?

(Results of free-form questions will follow.)

15. Do you miss features in git that you know from other SCMs?If yes, what features are these (and from which SCM)?

(Results of free-form questions will follow.)

How do you use Git?

16. I use Git for (check all that apply):

(Multiple choice questions with free-form parts.)


Reply Count Perc.
work projects 2195 78%
unpaid projects 2211 78%
proprietary code 1011 36%
OSS development 1847 66%
private (unpublished) code 2037 72%
personal data 913 32%
documents 772 27%
website or web app 1365 48%
sharing data or sync 524 19%
backup 574 20%
wiki/blog/other web app backend 290 10%
managing configuration files 695 25%
frontend to other SCM (e.g. git-svn) 897 32%
Other (please specify) 65 2%
Total responders 2819

This is multiple-choice question, and for this question it looks like many people have chosen more than one answer. Correlations, including for example how many people answered both 'work' and 'unpaid' projects is yet to be analized.

There is around the same number of using Git for unpaid projects as of using Git for work related projects. (In previous surveys in 2006 and 2007 this question was single-choice question with work/unpaid projects/both as possible answers; this survey uses multiple choice question and answer 'both' can be derived from correlations).

Almost 3/4 (72%) use Git to manage private (unpublished) code. There are around twice that many uses of Git used in OSS development (used to manage open source software) than uses for proprietary code (66% versus 36%).

From 'non code' uses of Git most popular is using it to manage websites or web applications (well, web applications can be code), followed by using Git as frontend to other version control system (like git-svn used as frontend/client for Subversion), and using Git for personal data. Note that those choices are not exclusive!

The free-form part of this question is not yet analyzed; but there are only around 2% of free-form answers (i.e. other, unlisted way of using git).

17. How do you obtain Git?

(multiple choice question)


Reply Count Perc.
binary package 1787 55.2%
source tarball 758 23.4%
source package or script 680 21.0%
pull from main repository 533 16.5%
Not answered 440 13.6%


18. What operating system do you use Git on?

(Multiple choice questions with free-form parts.)

Note that one person can use Git on multiple operating systems simultaneously, either on different machines, or on the same machine with multi-boot (multiple operating systems on the same computer).

Entries in table below are sorted by number of replies; it does not reflect original order of answers in the survey.


Reply Count Perc.
Linux 2434 86%
MacOS X (Darwin) 1330 47%
MS Windows/msysGit (MINGW) 452 16%
MS Windows/Cygwin 297 10%
FreeBSD, OpenBSD, NetBSD 244 9%
Solaris, OpenSolaris 143 5%
AIX 21 1%
SunOS 18 1%
HP-UX 10 0%
IRIX 5 0%
SCO SV 2 0%
UnixWare 1 0%
Other, please specify 32 1%
Total responders 2842


Other operating systems (excluding distributions of Linux and GNU/Linux wording and similar answers which are listed) that people use Git on include iPhone OS (is there Git for iPhone?), BeOS (but with comment: not really), DragonFly BSD and GNU/kFreeBSD (both probably should be counted as element of xBSD family), MS Windows/AndLinux, and finally QNX and Plan 9.

Linux dominates (86% replies) as the operating system of Git users (other systems do not cross 50% of replies). This isn't strange, as Git was at least originally developed for Linux and on Linux; it doesn't for example work as well on MS Windows, and lack some of GUI tools (some) MS Windows users expect. Next in popularity is MacOS X with 47% replies, and MS Windows with around 26% replies. The "native" msysGit version is more popular than using Git from/via Cygwin. The remaining operating systems with more than 1% of responses are various members of xBSD family: FreeBSD, OpenBSD, NetBSD, and (a bit surprisingly for me) (Open)Solaris.


19. What hardware platforms do you use Git on?

(Multiple choice questions with free-form parts.)

Note that one person can use Git on more than one machine (for example desktop and laptop, or home computer and computer at work).

Sidenote: Some responders might have mistaken hardware platforms you use Git on with more broad hardare platforms you work on (or have contact with).


Reply Count Perc.
32bit 2484 89%
64bit 1700 61%
portable/handheld 92 3%
other (please specify) 23 1%
Total responders 2798


People usually put in 'other' field either comment about choice, or name of architecture (PowerPC/PPC, G4, SPARC, ARM, ia32 or ia64), or type of machine (OLPC-XO, MacBook with Intel).

32bit architecture is still most popular (89%), but more than half use (also) 64bit (61%).


20. What editor, IDE or RAD you use working with Git?

(Multiple choice questions with free-form parts.)

This question was intended to mean editor (or IDE) which one use to edit files which one has under version control using Git, not any editor one use.

This is multiple choice question as one can use different editors in different situations (e.g. for different projects).


Reply Count Perc.
Eclipse 364 13%
NetBeans 154 6%
IntelliJ IDEA 43 2%
MS Visual Studio 125 5%
KDevelop 82 3%
Anjuta 13 0%
XCode 139 5%
PIDA 5 0%
Eric 7 0%
Emacs 582 21%
Vim 1380 51%
Notepad++ 100 4%
TextMate 890 33%
Other, please specify 410 15%
Total responders 2707


The free-form part of this question is not yet analyzed; some of editors, IDE and RAD that are missing from above table include: gedit (from GNOME), Geany (Scintilla-based GTK+ editor/IDE), Kate (from KDE), nano (curses-based text editor), 'E' (MS Windows TextMate port) and SciTE (Scintilla-based cross-platform editor).

Among text editors (although with plugins, addons, modes one can make those into something resembling IDE) Vim with 51% wins over TextMate with 33%, which in turn wins over Emacs with 21%. Next in turn is Eclipse with 13% (assuming that editors in 'other' won't change it; this would a bit unlikely, though); it is most popular among Java IDE listed (from those NetBeans is more popular than IntelliJ IDEA). XCode, MS Visual Studio and KDevelop IDE have similar popularity, surpassing Anjuta.


21. Which porcelains / interfaces / implementations do you use?

(Multiple choice questions with free-form parts.)

This question was made multiple choice because one can use patch management interface such as StGIT, or topic branch management tool TopGit together with "core" git interface (git in C).

This question intentionally mixes implementations (such as git-core aka. git written (mainly) in C, and JGit which is (re)implementation written in Java), management interfaces extending Git such as patch management interfaces: StGIT and Guilt, or tool to manage topic branches: TopGit, and alternate user interfaces such as Pyrite, Easy Git and (deprecated) Cogito.


Reply Count Perc.
git (core) 2654 99%
JGit (Java implementation) 38 1%
Cogito (DEPRECATED) 14 1%
pg aka Patchy Git (DEPRECATED) 2 0%
StGIT 63 2%
Guilt (formerly gq) 15 1%
Easy Git 24 1%
Pyrite 1 0%
TopGit 30 1%
my own scripts 321 12%
Other (please specify) 79 3%
Total responders 2681


The free-form part of this question is not yet analyzed; nevertheless other (unspecified) consist only of 3% of responses.

Listed (in a free-form) part porcelains / interfaces / implementations include: Grit (Ruby interface and partial (re)implementation), GitPython, git and GitHub Ruby git gems, Sake tasks, gc-utils, git-wtf, thor-git, mr (generic VC CLI interface), gibak (for backups) and etckeeper, gitosis, vng, yap/yagp, 0release, git-buildpackage (Debian tool), smug, and using Git from editors and IDE, i.e. various Emacs modes: magit, git.el, TextMate git bundle, and VCSCommand Vim plugin.

Most people (99%) use git-core implementation. From patch management interfaces most users has StGIT (63), then Guilt (15); deprecated Patchy Git (pg) has only 2 users. Cogito has 14 users in sipte of it being deprecated and unmaintained for quite a long time.

There is qute a large percentage of people (12%) who create their own scripts to help their git usage. Whether it is a sign of good scriptability, or lacks in user interface, it depends on point of view...


22. Which git GUI (commit tool or history viewer, or both) do you use?

(Multiple choice questions with free-form parts.)

This is multiple choice question because one can use more than one tool, for example both history viewer and graphical commit tool.

This question is not fully analized (beside lack of tabularization of free-form 'other tool' answer); the data should be grouped into categories and/or sorted by usage (by number of responses). Currently data is in the same order as in survey.


Reply Count Perc.
CLI (command line) 1868 74%
gitk 1563 62%
git gui 529 21%
QGit 245 10%
GitView 14 1%
Giggle 128 5%
tig 137 5%
git-sh (git shell) 38 2%
instaweb 68 3%
(h)gct 2 0%
qct 5 0%
git-cola / ugit 5 0%
GitNub 291 11%
GitX 44 2%
Pyrite 1 0%
git.el or git-vc.el 94 4%
DVC (Emacs) 38 2%
EGit (Eclipse plugin) 56 2%
Push Me Pull You 3 0%
gitSafe 2 0%
Other, please specify 96 4%
Total responders 2533


Around 3/4 (74%) of people use git command line interface. Among other tools dominate gitk history viewer (62%) and git-gui commit tool (21%), probably because they are multiplatform (using Tcl/Tk) and distributed with Git. GitNub and QGit follow, with similar popularity over 200 responses, then Giggle, tig (text-mode interface) and various Emacs modes for Git. Above 50 users has instaweb and Eclipse plugin (EGit), with GitX close (44 responses); that doesn't count (currently) tools specified in free-text form in 'other tools' answer.

The free-form part of this question is not yet analyzed. Tools that people use and are (currently) missing from the above table include: git-forest, git-wtf, gitosis, GitHub, metarw-git, Meld (graphical diff and merge tool), GitCheetah, gitsum (darcsum-like Emacs interface), magit (Emacs interface), tm-bundle (TextMate git bundle), VCSCommand Vim plugin,... and my own tools/plugin.


23. Which git web interface do you use for your projects/have installed?

Web interfaces used by git hosting sites do not count

(Multiple choice questions with free-form parts.)


Reply Count Perc.
gitweb (Perl) 781 80%
cgit (C) 104 11%
Wit (Ruby) 5 1%
git-php (PHP) 15 2%
viewgit (PHP) 7 1%
gitarella (Ruby) 6 1%
Gitorious (Ruby) 100 10%
InDefero (PHP) 3 0%
Other, please specify 106 11%
Total responders 980


This questions was meant to be about web interface the user himself/herself deploy, not just web interfaces one use. As one can see only 980 people out of 3236 answered this question (and even that might be overestimated); not every user needs to deploy web interface.

Most commonly used (deployed) web interface from this survey is gitweb with 80%, most probably because it is distributed with git. The only other web interfaces that crossed 10% of responses are cgit (caching web interface in C) and Gitorious (git hosting solution in Ruby).

The free-form part of this question is not yet analyzed.

Web interfaces listed as 'other': GitHub (it is not public; the question was not meant to be about using web interface), Trac and gittrac (bugtracker), Redmine (bugtracker), ikiwiki (wiki compiler with possible git backend), git-browser (graphical history viewer using JavaScript), Sputnik (Lua), internal / my own non public, gitalone, lookgit, gitlocal, Retrospectiva, Version Control API in Drupal (PHP, experimental), Merge Monkey, lxr-cvs with git backend.


24. Which git hosting site do you use for your projects?

(Multiple choice questions with free-form parts.)

This is multiple choice because one can use multiple git hosting sites, either for different projects, or as mirrors (alternate sources).

The table below is sorted by number of replies, but with 'generic site', 'self hosted' and "other git hosting site" put at the end. Currently it also does not include git hosting sites specified in free-form "other site" answer.


Reply Count Perc.
GitHub 1404 59%
repo.or.cz 237 10%
Gitorious 171 7%
Unfuddle 66 3%
Alioth 63 3%
freedesktop.org 50 2%
Assembla 41 2%
Savannah 37 2%
kernel.org 37 2%
Fedora Hosted 14 1%
generic site without git support 107 4%
self hosted 1095 46%
Other (please specify) 87 4%
Total responders 2385

Note that replies might be affected by the fact that announcement about this survey was shown at some git hosting sites, but not at other (additionally users of some git hosting sites may skip welcome page more often than for other hosting site; not all hosting sites have blog or a news / announcements section).

The leader here is GitHub (59%); only self hosted has close amount of replies (46%).

The free-form part of this question is not yet analyzed. Git hosting site that people use (and wrote about in free-form section) and are not present in above table include project specific or distribution specific multi-repo hosting sites such as dev.laptop.org (OLPC), git.altlinux.org, git.slind.org, git.exherbo.org, overlays.gentoo.org, infradead.org, git.videolan.org, linux-nfs.org, open-osd.org, alsa-project.org, moblin.org, samba.org, denx.de, git.xfce.org, git.postgresql.org, Heroku, GNOME git mirror (nowadays GNOME chosen Git as SCM), git hosting sites not mentioned above such as TuxFamily or codebasehq, software hosting sites (with some git support) such as BerliOS, RubyForge, non-public git hosting sites, foreign SCM (e.g. Subversion) hosting sites. Some of those are mentioned only once.


25. How do you publish/propagate your changes?

(Multiple choice questions with free-form parts.)

This question is multiple choice because one can use different mechanism for different repositories one publish to.


Reply Count Perc.
push 2355 90%
pull request 709 27%
format-patch + email 584 22%
git bundle 48 2%
git-svn 704 27%
foreign SCM, not git-svn 82 3%
other 51 2%
Total responders 2625


Most common way by a large margin to publish one changes is via push (90%). Next in order is pull request (in many different forms) and git-svn, both with 27% of replies. From more common ways of publishing one's changes there is also format-patch + email with 22% (which was meant to include other ways of publishing via format-patch).

The free-form part of this question is not yet analyzed, and neither is the next question, which expand "other solution" answer.

The foreigh SCM used to publish one's changes include: git-bzr (Bazaar), git-p4 (Perforce), git-cvsexportcommit (CVS), git-acu (AccuRev), git-send-bugzilla, unknown tool / custom script for publishing to ClearCase, email + mq to publish to Mercurial, fast-export / fast-import (Mercurial), own tool or via working directory for Visual SourceSafe.


26. If the way you publish your changes is not mentioned above, how do you publish your changes? Please explain.

(Results of free-form questions will follow.)

27-28. How often do you use the following forms of git commands or extra git tools?

(single choice per row)


Command Never Rarely Sometimes Often Not answered
git add -i / -p 919 28.4% 389 12.0% 402 12.4% 464 14.3% 1062 32.8%
git add -u / -A 1233 38.1% 320 9.9% 244 7.5% 274 8.5% 1165 36.0%
git am 1469 45.4% 298 9.2% 177 5.5% 105 3.2% 1187 36.7%
git am -i 1761 54.4% 177 5.5% 68 2.1% 13 0.4% 1217 37.6%
git apply 1287 39.8% 416 12.9% 262 8.1% 74 2.3% 1197 37.0%
git apply --whitespace=fix 1677 51.8% 212 6.6% 87 2.7% 30 0.9% 1230 38.0%
git archive 1469 45.4% 293 9.1% 186 5.7% 77 2.4% 1211 37.4%
git bisect 1217 37.6% 452 14.0% 330 10.2% 61 1.9% 1176 36.3%
git bisect run <cmd> 1665 51.5% 221 6.8% 103 3.2% 13 0.4% 1234 38.1%
git annotate 1416 43.8% 350 10.8% 215 6.6% 53 1.6% 1202 37.1%
git gui blame 1729 53.4% 168 5.2% 93 2.9% 17 0.5% 1229 38.0%
git blame 1030 31.8% 496 15.3% 396 12.2% 142 4.4% 1172 36.2%
git blame -L <start>,<end> etc. 1716 53.0% 171 5.3% 74 2.3% 15 0.5% 1260 38.9%
git bundle 1819 56.2% 128 4.0% 31 1.0% 10 0.3% 1248 38.6%
git cherry 1648 50.9% 222 6.9% 100 3.1% 31 1.0% 1235 38.2%
git cherry-pick 1051 32.5% 364 11.2% 447 13.8% 206 6.4% 1168 36.1%
git cherry-pick -n 1555 48.1% 223 6.9% 149 4.6% 52 1.6% 1257 38.8%
git citool 1837 56.8% 77 2.4% 25 0.8% 32 1.0% 1265 39.1%
git clean 1154 35.7% 404 12.5% 290 9.0% 161 5.0% 1227 37.9%
git add + git commit 212 6.6% 105 3.2% 285 8.8% 1559 48.2% 1075 33.2%
git commit -a 197 6.1% 199 6.1% 394 12.2% 1480 45.7% 966 29.9%
git commit <file>... 494 15.3% 330 10.2% 442 13.7% 856 26.5% 1114 34.4%
git commit -i <file>... 1308 40.4% 330 10.2% 182 5.6% 158 4.9% 1258 38.9%
git commit --amend 783 24.2% 339 10.5% 460 14.2% 486 15.0% 1168 36.1%
git cvsexportcommit 1889 58.4% 43 1.3% 23 0.7% 24 0.7% 1257 38.8%
git cvsserver 1926 59.5% 44 1.4% 12 0.4% 5 0.2% 1249 38.6%
git daemon 1500 46.4% 242 7.5% 127 3.9% 130 4.0% 1237 38.2%
git daemon (pushing enabled) 1709 52.8% 147 4.5% 65 2.0% 58 1.8% 1257 38.8%
git ... --dirstat 1768 54.6% 135 4.2% 51 1.6% 11 0.3% 1271 39.3%
git fetch [<options>] 593 18.3% 469 14.5% 501 15.5% 502 15.5% 1171 36.2%
git filter-branch 1681 51.9% 231 7.1% 62 1.9% 10 0.3% 1252 38.7%
git format-patch 1165 36.0% 337 10.4% 315 9.7% 202 6.2% 1217 37.6%
git grep 1196 37.0% 357 11.0% 242 7.5% 242 7.5% 1199 37.1%
git imap-send 1912 59.1% 58 1.8% 9 0.3% 6 0.2% 1251 38.7%
git instaweb 1775 54.9% 141 4.4% 45 1.4% 12 0.4% 1263 39.0%
git log --grep/--author/... 934 28.9% 376 11.6% 441 13.6% 289 8.9% 1196 37.0%
git log -S<string> (pickaxe search) 1393 43.0% 290 9.0% 207 6.4% 95 2.9% 1251 38.7%
git log --graph 1481 45.8% 302 9.3% 155 4.8% 52 1.6% 1246 38.5%
git merge 302 9.3% 432 13.3% 713 22.0% 709 21.9% 1080 33.4%
git merge with strategy 1533 47.4% 300 9.3% 116 3.6% 32 1.0% 1255 38.8%
git merge --squash 1464 45.2% 312 9.6% 150 4.6% 66 2.0% 1244 38.4%
git mergetool 1486 45.9% 219 6.8% 160 4.9% 118 3.6% 1253 38.7%
git pull (no remote) 406 12.5% 307 9.5% 444 13.7% 1009 31.2% 1070 33.1%
git pull --rebase [<options>] 1105 34.1% 405 12.5% 272 8.4% 224 6.9% 1230 38.0%
git pull <remote> 308 9.5% 386 11.9% 623 19.3% 862 26.6% 1057 32.7%
git pull <URL> <ref> 805 24.9% 510 15.8% 395 12.2% 331 10.2% 1195 36.9%
git push 135 4.2% 140 4.3% 358 11.1% 1628 50.3% 975 30.1%
git relink 1889 58.4% 53 1.6% 9 0.3% 1 0.0% 1284 39.7%
git rebase 592 18.3% 432 13.3% 506 15.6% 586 18.1% 1120 34.6%
git rebase -i 1097 33.9% 257 7.9% 297 9.2% 346 10.7% 1239 38.3%
git remote 783 24.2% 423 13.1% 550 17.0% 269 8.3% 1211 37.4%
git remote update 1327 41.0% 293 9.1% 208 6.4% 138 4.3% 1270 39.2%
git request-pull 1750 54.1% 140 4.3% 47 1.5% 25 0.8% 1274 39.4%
git revert 689 21.3% 688 21.3% 536 16.6% 146 4.5% 1177 36.4%
git send-email 1642 50.7% 169 5.2% 97 3.0% 61 1.9% 1267 39.2%
git show-branch 1444 44.6% 266 8.2% 188 5.8% 79 2.4% 1259 38.9%
git shortlog 1414 43.7% 301 9.3% 207 6.4% 52 1.6% 1262 39.0%
git shortlog -s 1648 50.9% 188 5.8% 97 3.0% 25 0.8% 1278 39.5%
git stash 703 21.7% 302 9.3% 560 17.3% 498 15.4% 1173 36.2%
git stash --keep-index 1704 52.7% 133 4.1% 75 2.3% 37 1.1% 1287 39.8%
git submodule 1381 42.7% 292 9.0% 198 6.1% 122 3.8% 1243 38.4%
git svn 915 28.3% 306 9.5% 322 10.0% 522 16.1% 1171 36.2%
git whatchanged 1577 48.7% 206 6.4% 116 3.6% 64 2.0% 1273 39.3%
git gui 1330 41.1% 292 9.0% 171 5.3% 234 7.2% 1209 37.4%
gitk 601 18.6% 335 10.4% 479 14.8% 692 21.4% 1129 34.9%


29. Which of the following features do or did you use?

(multiple choice question)


Reply Count Perc.
non-default hooks 236 7.3%
working with dirty tree 405 12.5%
bisect 643 19.9%
submodules (subprojects) 554 17.1%
integration with IDE/editor 418 12.9%
multiple worktrees (git-new-worktree) 72 2.2%
gitattributes 135 4.2%
stash 1180 36.5%
separate worktree 141 4.4%
patch management interface (e.g. StGIT) 119 3.7%
alternates mechanism (sharing object database) 122 3.8%
git bundle (off-line transport) 101 3.1%
git-filter-branch or cg-admin-rewritehist 143 4.4%
commit templates 38 1.2%
shallow clone 172 5.3%
eol conversion (crlf) 176 5.4%
my own scripts 523 16.2%
interactive rebase 670 20.7%
detaching HEAD 309 9.5%
gitk or other history viewer 1586 49.0%
mergetool 376 11.6%
add --interactive or other partial commit helper 741 22.9%
reflog 339 10.5%
shell completion of commands 951 29.4%
git-gui or other commit tool 666 20.6%
git-aware shell prompt 469 14.5%
Not answered 1069 33.0%


30. Which features do you find unique and/or useful ones,compared to other systems (other SCMs)?

(multiple choice question)


Reply Count Perc.
working with dirty tree 264 8.2%
submodules (subprojects) 399 12.3%
bisect 735 22.7%
gitattributes 84 2.6%
scriptability 497 15.4%
separate worktree 207 6.4%
the index 789 24.4%
stash 1121 34.6%
alternates mechanism (sharing oject database) 126 3.9%
git bundle (off-line transport) 190 5.9%
git-filter-branch or cg-admin-rewritehist 125 3.9%
commit templates 65 2.0%
shallow clone 126 3.9%
detaching HEAD 177 5.5%
eol conversion (crlf) 119 3.7%
interactive rebase 711 22.0%
mergetool 248 7.7%
add --interactive or other partial commit helper 674 20.8%
reflog 295 9.1%
hooks system 323 10.0%
Not answered 1412 43.6%


31. If you use some important Git features not mentioned above, what are those?

(Results of free-form questions will follow.)


What do you think of Git?

32. Overall, how happy are you with Git?

(single choice question)


Reply Count Perc.
unhappy 19 0.6%
very happy 1341 41.4%
happy 687 21.2%
completly ecstatic 498 15.4%
not so happy 86 2.7%
Not answered 605 18.7%


33. How does Git compare to other SCM tools you have used?

(single choice question)


Reply Count Perc.
worse 52 1.6%
equal (or comparable) 293 9.1%
better 2244 69.3%
Not answered 647 20.0%


34. What would you like to see improved about Git?

(Results of free-form questions will follow.)

35. What tools (or kind of tools) would you like to see Git support in?

(Results of free-form questions will follow.)


Changes in Git

Since year ago (since last survey), or since you started using Git.

36. Did you participate in previous Git User's Surveys?

(multiple choice question)


Reply Count Perc.
in 2007 256 7.9%
in 2006 77 2.4%
Not answered 2971 91.8%

37. How do you compare current version with version from year ago?

(single choice question)


Reply Count Perc.
cannot say 990 30.6%
worse 5 0.2%
better 855 26.4%
no changes 75 2.3%
Not answered 1311 40.5%


Documentation

38. Do you use the Git wiki?

(single choice question)


Reply Count Perc.
No 1348 41.7%
Yes 1151 35.6%
Not answered 737 22.8%


39. Do you find Git wiki useful?

(single choice question)


Reply Count Perc.
No 246 7.6%
Somewhat 708 21.9%
Yes 672 20.8%
Not answered 1610 49.8%


40. Do you contribute to Git wiki?

(single choice question)


Reply Count Perc.
only spam removal 37 1.1%
No 1916 59.2%
Yes 50 1.5%
Not answered 1233 38.1%


41. Do you find Git's on-line help (homepages, documentation) useful?

(single choice question)


Reply Count Perc.
No 120 3.7%
Somewhat 775 23.9%
Yes 1392 43.0%
Not answered 949 29.3%


42. Do you find help distributed with Git useful?

(single choice question)


Reply Count Perc.
No 136 4.2%
Somewhat 672 20.8%
Yes 1544 47.7%
Not answered 884 27.3%


43. What could be improved on the Git homepage(s)?

(Results of free-form questions will follow.)

44. What could be improved in Git documentation?

(Results of free-form questions will follow.)


Translating Git

45. What is the language you want computer communicate with you?

(Results of free-form questions will follow.)

46. What do you need/want to have translated?

(multiple choice question)


Reply Count Perc.
git wiki 78 2.4%
manpages 205 6.3%
subcommands and long option names 33 1.0%
git-gui 94 2.9%
technical documentation 128 4.0%
command messages 132 4.1%
gitk 106 3.3%
HOWTOs 224 6.9%
User Manual/Tutorial/... 246 7.6%
git homepage 93 2.9%
Not answered 2911 90.0%


Getting help, staying in touch

47. Have you tried to get Git help from other people?

(single choice question)


Reply Count Perc.
No 950 29.4%
Yes 1395 43.1%
Not answered 891 27.5%


48. What channel did you use to request help?

(Multiple choice questions with free-form parts.)

Note that percentages here are relative to number of people who answered this question, not to the number of people who took this survey (contrary to other questions in this section: you can distinguish it by the use of decimal point in percentage).


Reply Count Perc.
git mailing list 276 19%
git Google Group 72 5%
IRC (#git) 545 37%
IRC (#github) 147 10%
request in blog post or on wiki 115 8%
asking git guru/colleague 843 57%
other (please specify) 148 10%
Total responders 1478 / 3236


The most popular way of requesting for help on Git, with 57% replies, is asking git guru or colleague. Second is using #git IRC channel (on FreeNode) with 37% of people asking for help, with asking on git mailing list third with 19%. IRC channel might be more popular than git mailing list because of its instant nature.

Only around half of survey takers answered this questions; is it because they did not need to ask for help, or the survey was too long (and this is one of last questions)...

The free-form part of this question is not yet analyzed. Other channels of asking for help and getting help include doing research or googling for answers, or looking upd documentation or gitcasts.com (which is not asking for help in a strict sense), asking on other IRC channels, using other mailing lists and other Google groups (LKML, msysGit,...), forums such like GitHub support, asking via (private) mail, using Twitter or some instant messanging (IM) such as XMPP, at conferences or git workshops.

49. If yes, did you get these problems resolved quickly and to your liking?

(single choice question)


Reply Count Perc.
No 76 2.3%
Somewhat 414 12.8%
Yes 983 30.4%
Not answered 1763 54.5%


50. Would commercial (paid) Git support from a support vendor be of interest to you/your organization?

(single choice question)


Reply Count Perc.
not applicable 481 14.9%
No 1475 45.6%
Yes 189 5.8%
Not answered 1091 33.7%


51. Do you think it is easy to find out how to do a specific task with git?

(single choice question)


Reply Count Perc.
No 272 8.4%
Yes 641 19.8%
not always 1411 43.6%
Not answered 912 28.2%


52. Do you read the mailing list?

(multiple choice question)


Reply Count Perc.
git@vger.kernel.org (main) 423 13.1%
msysGit 60 1.9%
Git for Human Beings (Google Group) 78 2.4%
Not answered 2741 84.7%


53. If yes, do you find mailing list useful?

(single choice question)


Reply Count Perc.
No 71 2.2%
Somewhat 237 7.3%
Yes 294 9.1%
Not answered 2634 81.4%


54. Do you find the mailing list traffic level to be:

(single choice question)


Reply Count Perc.
tolerable (a bit high) 257 7.9%
I don't read it 620 19.2%
intolerable (absurdly high) 73 2.3%
OK, just right 153 4.7%
too low 14 0.4%
Not answered 2119 65.5%


55. Do you use the IRC channel (#git on irc.freenode.net)?

(single choice question)


Reply Count Perc.
No 1354 41.8%
Yes 539 16.7%
Not answered 1343 41.5%


56. If yes, do you find IRC channel useful?

(single choice question)


Reply Count Perc.
No 92 2.8%
Somewhat 192 5.9%
Yes 355 11.0%
Not answered 2597 80.3%


57. Did you have problems getting GIT help on mailing list or on IRC channel? What were it? What could be improved?

(Results of free-form questions will follow.)


Open forum

58. What other comments or suggestions do you have that are not covered by the questions above?

(Results of free-form questions will follow.)

59. Should Git User's Survey be repeated next year?

(single choice question)


Reply Count Perc.
No 29 0.9%
no opinion 464 14.3%
Yes 1788 55.3%
Not answered 955 29.5%


60. Where have you read/find about this survey?

(free-form question)


Reply Count Perc.
GitHub (also blog or mailing list) 584 18.0%
git.or.cz (git homepage announcement) 227 7.0%
Git mailing list 209 6.5%
some project's mailing list 98 3.0%
debian-devel-announce mail 82 2.5%
some blog or news site 68 2.1%
another person 66 2.0%
LKML 49 1.5%
IRC 48 1.5%
twitter (chacon, defunkt, chadfowler) 45 1.4%
http://www.gnome.org/~federico/news-2008-09.html#23 (partly via Planet GNOME) 41 1.3%
http://news.ycombinator.com/item?id=291560 38 1.2%
http://www.pro-linux.de/news/2008/13124.html 36 1.1%
http://www.heise.de/newsticker/meldung/115637 31 1.0%
Gitorious.org 30 0.9%
don't know 26 0.8%
reddit.com 25 0.8%
repo.or.cz 22 0.7%
Unfuddle 21 0.6%
KernelTrap 16 0.5%
http://linuxnews.pl/ankieta-uzytkownikow-systemu-kontroli-wersji-git/ 12 0.4%
GitWiki (announcement on front page) 10 0.3%
some project web pages 9 0.3%
gitcasts.com 8 0.2%
git-scm.{org,com} 7 0.2%
LWN 6 0.2%
Ohloh.net 5 0.2%
http://www.fsdaily.com/Community/Git_Users_Survey_2008_Begins 3 0.1%
I wrote it 2 0.1%
Crap answer 32 1.0%
Not answered 1443 44.6%


There has been a useful tip for the mailing list "spamming": I thought it was spam at first[...]. Please include a link to a "trusted site" like git.or.cz which explains the survey.

Many of the answers in "Crap answer"s are due to the bad English in the question or due to the big amount of questions and people getting tired. The question has been understood as "What do you think about the survey?" and the main answer is: "This survey is much too long!". Some people added that it may help to improve Git.

Regarding the survey itself, there has been some noteworthy tips or notes:

  • Seems like it (the length of the survey) would impact the accuracy of the results, as people pay less attention as the survey goes on.
  • Try to reduce the amount of questions (specially the multiple-choice ones) the next year.
  • Too long! Remove half of the questions. At minimum, supply a link to a forum where each question block can be discussed. I can't imagine that you can use all questions' answers for anything, so please avoid even showing such questions. Or move them to a "Bonus questions" section that you can open after "finishing" the survey. Or just make git run statistics of it's usage and allow ppl to report that, but please _don't_ make ppl report usage statistics manually like in this questionnaire!
  • unsure about optional fields (Note: the header of the survey said that all questions are optional)

Personal tools