Report: Git User's Survey 2010

Activity
100% Completion Rate
28001
Views
8841
Responses
8841
Complete
0
Incomplete
Responses

1. What country do you live in (country of residence)?

Total respondents 8470
Respondents who skipped this question 371

2. How old are you (in years)?

Total respondents 8437
Respondents who skipped this question 404

3. Have you found Git easy to learn?

Very easy 5%
408
Easy 24%
1984
Reasonably easy (average) 53%
4460
Hard 17%
1413
Very hard 2%
139
Total respondents 8404
Respondents who skipped this question 437

4. Have you found Git easy to use?

Very easy 11%
932
Easy 38%
3168
Reasonably easy (average) 42%
3575
Hard 8%
658
Very hard 1%
85
Total respondents 8418
Respondents who skipped this question 423

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

pre 1.3 0%
12
1.3.x 0%
16
1.4.x 0%
39
1.5.x 6%
530
1.6.x 24%
2009
1.7.x 83%
7024
minor (maintenance) release 1.x.y.z 17%
1463
'master' branch of official git repository 4%
304
'next' branch of official git repository 1%
54
'pu' branch of official git repository 0%
13
version from msysGit / Git for Windows fork repository 10%
811
git-bigfiles fork 0%
12
JGit implementation (e.g. via Eclipse plugin, EGit) 5%
404
other git implementation (Git#, Dulwich, etc.) 1%
75
other, please specify 3%
248
Total respondents 8485
Respondents who skipped this question 356

6. Rate your own proficiency with Git:

1. novice 4%
341
2. casual, needs advice 19%
1625
3. everyday use 39%
3308
4. can offer advice 32%
2703
5. know it very well 7%
569
Total respondents 8546
Respondents who skipped this question 295

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

work projects 81%
6905
unpaid projects 77%
6623
proprietary projects 39%
3365
OSS development (also public domain) 65%
5556
private stuff (unpublished) 74%
6335
code (programming) 91%
7819
personal data 27%
2337
documents (data) 30%
2528
static website 29%
2477
web app 46%
3892
large (>1 MB) binary files 17%
1484
often changing binary files 7%
611
sharing data or sync 20%
1724
managing configuration files 33%
2850
backup 19%
1664
backend for wiki, blog, or other web app 11%
922
frontend to other SCM (e.g. git-svn) 21%
1809
other (please specify) 2%
191
Total respondents 8552
Respondents who skipped this question 289

8. How do/did you obtain Git (install and/or upgrade)?

binary package 74%
6275
source package or script 24%
2004
source tarball 14%
1211
pull from (main) repository 12%
984
preinstalled / sysadmin job 9%
789
other - please specify (if none of the above apply) 5%
461
Total respondents 8509
Respondents who skipped this question 332

9. On which operating system(s) do you use Git?

GNU/Linux 85%
7243
*BSD (FreeBSD, OpenBSD, NetBSD, etc.) 7%
639
MacOS X (Darwin) 46%
3932
MS Windows/Cygwin 10%
823
MS Windows/msysGit (MINGW) 25%
2151
other Unix 2%
211
Other, please specify 1%
117
Total respondents 8542
Respondents who skipped this question 299

10. What Git interfaces, implementations and frontends do you use?

git (core) commandline 98%
8285
JGit (Java implementation), e.g. via Eclipse plugin 9%
745
Cogito (DEPRECATED) 0%
7
Easy Git 0%
33
Pyrite 0%
7
StGIT 1%
84
Guilt 0%
14
TopGit 0%
34
pg aka Patchy Git (DEPRECATED) 0%
1
I don't know, I use only (graphical) tools 1%
86
Other (please specify) 22%
1857
Total respondents 8469
Respondents who skipped this question 372

11. How often do you use following kinds of Git tools?

never rarely sometimes often (almost) always
editor/IDE VC integration (e.g. EGit, TextMate bundle, magit)
4769 - 58%
1431 - 17%
902 - 11%
702 - 8%
462 - 6%
8266
filemanager / shell extension (e.g. git-cheetah, TortoiseGit)
6470 - 80%
777 - 10%
422 - 5%
240 - 3%
166 - 2%
8075
graphical history viewer/browser (e.g. gitk)
1744 - 21%
1481 - 18%
1913 - 23%
1929 - 23%
1196 - 14%
8263
graphical commit tool (e.g. git-gui)
4677 - 58%
1252 - 15%
748 - 9%
734 - 9%
678 - 8%
8089
graphical diff and/or merge tool (e.g. Kompare, Meld)
3434 - 42%
1301 - 16%
1422 - 17%
1277 - 16%
707 - 9%
8141
graphical blame or pickaxe tool
5972 - 74%
1077 - 13%
638 - 8%
252 - 3%
78 - 1%
8017
git-instaweb, or self-hosted web interface
5861 - 73%
850 - 11%
637 - 8%
500 - 6%
169 - 2%
8017
tool to manage git repositories (e.g. Gitosis, Gitolite)
5393 - 67%
674 - 8%
648 - 8%
754 - 9%
576 - 7%
8045
my own scripts (for daily use)
4592 - 57%
1108 - 14%
1033 - 13%
832 - 10%
480 - 6%
8045
my own scripts (for special tasks)
4357 - 54%
1384 - 17%
1297 - 16%
653 - 8%
330 - 4%
8021
Total respondents 8429
Respondents who skipped this question 412

12. What Git GUIs (graphical user interfaces) do you use?

gitk 58%
4042
git gui 25%
1729
tig 7%
513
QGit 6%
449
Qct 0%
6
Giggle 5%
312
gitview 1%
51
gitg 7%
507
git-cola 3%
174
Pyrite 0%
6
GitX 28%
1925
GitNub 2%
150
Katana 0%
4
RepoWatch 0%
5
teamGit 0%
5
gitSafe 0%
4
SmartGit 2%
159
StupidGit 0%
10
git-cheetah 1%
81
TortoiseGit 12%
799
Git Extensions 4%
247
EGit (Eclipse) 9%
640
other IDE with git support 7%
461
editor with git support 9%
642
Other, please specify 7%
503
Total respondents 6923
Respondents who skipped this question 1918

13. Which git hosting site(s) do you use for your project(s)?
(Please check only hosting sites where you publish/push to with git)

repo.or.cz 4%
305
GitHub 77%
6107
Gitorious 12%
936
InDefero 1%
61
Savannah 1%
68
SourceForge 5%
400
Assembla 2%
140
Codebase 1%
116
Unfuddle 4%
346
Codesion 0%
13
GitFarm 0%
7
ProjectLocker 1%
47
The Chaw 0%
9
Beanstalk 1%
100
CipherHive 0%
2
kernel.org 1%
102
freedesktop.org 1%
76
Alioth 2%
121
debian-hosted 1%
100
Fedora Hosted 1%
50
git hosting site for set of related projects (e.g. OLPC) 2%
123
generic site without git support 2%
166
self hosted 44%
3494
Other (please specify) 5%
392
Total respondents 7925
Respondents who skipped this question 916

14. How do you fetch/get changes from upstream repositories?

git protocol (e.g. git://example.com/repo.git) 78%
6485
ssh (e.g. ssh://example.com/repo.git or user@example.com:/repo.git) 71%
5924
http (e.g. http://example.com/repo.git) 41%
3416
rsync (DEPRECATED) (e.g. rsync://example.com/repo.git) 0%
18
filesystem (e.g. /path/to/repo.git or file:///path/to/repo.git) 20%
1687
via git-bundle 1%
118
foreign SCM import / script like git-svn 16%
1299
Other, please specify 1%
96
Total respondents 8354
Respondents who skipped this question 487

15. How do you publish/propagate your changes?

push 95%
7882
pull request (+ any form of announcement / notification) 33%
2765
format-patch + email 16%
1322
format-patch + other (e.g. reviewboard, issue tracker or forum) 8%
661
git bundle 2%
144
git-svn (to Subversion repository) 18%
1503
git-p4 (to Perforce repository) 1%
80
foreign SCM interface (other than mentioned above) 2%
126
other - please specify 2%
164
Total respondents 8274
Respondents who skipped this question 567

16. Which of the following features do you use?

git bundle (off-line transport) 7%
488
"smart" HTTP support 13%
902
eol conversion (crlf) 18%
1307
custom diff/merge driver 10%
697
textconv 1%
82
gitattributes (other than above) 6%
443
submodules (subprojects) 33%
2336
subtree merge (optionally git-subtree) 5%
364
partial (sparse) checkout 5%
350
assume-unchanged bit 2%
144
separate worktree / core.worktree 3%
178
multiple worktrees (git-new-worktree) 3%
203
alternates mechanism (sharing object database) 2%
160
stash (optionally "git stash --keep-index") 66%
4703
shallow clone (e.g. "git clone --depth=") 7%
496
detaching HEAD (e.g. "git checkout HEAD^0") 19%
1367
interactive rebase (small scale history editing) 45%
3195
interactive commit / per-hunk comitting / partial commit 40%
2869
commit message templates 6%
458
git-filter-branch or equivalent (large history rewriting) 11%
756
bisect (optionally "git bisect run 28%
1981
committing with dirty tree (keeping some changes uncommitted) 45%
3199
non-default hooks (from contrib/hooks/ or other) 14%
1008
shell completion of commands 52%
3684
git-aware shell prompt 35%
2503
git aliases, shell aliases for git, or own git scripts 41%
2905
one-way interaction with other SCMs (from SCM to git) 13%
911
two-way interaction with other SCMs (git as fat client) 17%
1213
git cvsserver 0%
33
git notes 3%
237
Other, please specify 2%
112
Total respondents 7090
Respondents who skipped this question 1751

17. Which of the following features would you like to see implemented in git?

better support for big files (large media) 28%
2024
resumable clone/fetch (and other remote operations) 24%
1738
GitTorrent Protocol, or git-mirror 14%
998
lazy clone / on-demand fetching of object 11%
814
subtree clone 16%
1167
support for tracking empty directories 35%
2532
environment variables in config 8%
612
better undo/abort/continue, and for more commands 23%
1672
'-n' like option for each command, which describes what would happen 33%
2413
warn before/when rewriting published history 22%
1619
side-by-side diffs and/or color-words diff in gitweb 19%
1386
admin and/or write features in gitweb 5%
390
graphical history view in gitweb 16%
1188
GUI for rebase in git-gui 18%
1302
GUI for creating repository in git-gui 7%
493
graphical diff/merge tool integrated with git-gui 15%
1069
syntax highlighting in git-gui 13%
935
filename encoding (in repository vs in filesystem) 6%
397
git push --create 26%
1848
localization of command-line messages (i18n) 4%
258
wholesame directory rename detection 16%
1149
union checkouts (some files from one branch, some from other) 7%
517
advisory locking / "this file is being edited" 6%
467
"commands issued" (or "command equivalents") in git-gui / gitk 6%
420
built-in gitjour/bananajour support 5%
376
better support for submodules 29%
2070
other (described below) 7%
519
Total respondents 7203
Respondents who skipped this question 1638

18. Describe what features would you like to have in Git, if they are not present on the list above (in previous question)

Total respondents 1187
Respondents who skipped this question 7654

19. Overall, how happy are you with Git?

unhappy 1%
88
not so happy 4%
323
happy 22%
1897
very happy 54%
4592
completely ecstatic 19%
1571
Total respondents 8471
Respondents who skipped this question 370

20. In your opinion, which areas in Git need improvement?
Please state your preference.

don't care (1) don't need (2) a little (3) some (4) much (5) Average
user-interface
1177 - 15%
1200 - 15%
2210 - 28%
2001 - 25%
1343 - 17%
3.14 7931
documentation
410 - 5%
1541 - 19%
2837 - 36%
2293 - 29%
852 - 11%
3.21 7933
performance
1153 - 15%
4750 - 61%
1344 - 17%
432 - 6%
125 - 2%
2.18 7804
more features
1189 - 15%
2862 - 37%
2682 - 35%
885 - 11%
132 - 2%
2.47 7750
tools (e.g. GUI)
1536 - 20%
1510 - 19%
1763 - 22%
1859 - 24%
1205 - 15%
2.96 7873
localization (translation)
4422 - 57%
2323 - 30%
516 - 7%
298 - 4%
184 - 2%
1.64 7743
community (mailing list)
4172 - 54%
2433 - 32%
806 - 10%
209 - 3%
67 - 1%
1.64 7687
community (IRC)
4299 - 56%
2323 - 30%
774 - 10%
192 - 3%
71 - 1%
1.62 7659
Total respondents 8107
Respondents who skipped this question 734

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

in 2006 1%
64
in 2007 2%
164
in 2008 6%
467
in 2009 11%
912
I don't remember, but I have participated in the past 12%
969
none of above (first Git User's Survey) 78%
6492
Total respondents 8332
Respondents who skipped this question 509

22. How do you compare the current Git version with the version from one year ago?

better 38%
3136
no changes 8%
675
worse 0%
9
cannot say 53%
4382
Total respondents 8202
Respondents who skipped this question 639

23. How useful have you found the following forms of Git documentation?

never used not useful somewhat useful
Git Wiki
3307 - 41%
260 - 3%
2749 - 34%
1791 - 22%
8107
on-line help
1305 - 16%
219 - 3%
3010 - 37%
3599 - 44%
8133
help distributed with git
1129 - 14%
477 - 6%
2851 - 35%
3658 - 45%
8115
Total respondents 8240
Respondents who skipped this question 601

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

Yes 65%
5387
No 35%
2907
Total respondents 8294
Respondents who skipped this question 547

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

Yes 62%
3610
No 7%
401
Somewhat 31%
1835
Total respondents 5846
Respondents who skipped this question 2995

26. What channel(s) did you use to request help?

git mailing list (git@vger.kernel.org) 7%
415
msysGit mailing list / Google Group 1%
81
"Git for Human Beings" Google Group 2%
138
IRC (#git) 18%
1043
IRC (other git/SCM related, e.g. #github) 5%
287
IRC (other than above) 11%
632
request in blog post or on wiki 7%
409
asking git guru/colleague 59%
3400
project mailing list, or IRC, or forum 9%
533
Twitter or other microblogging platform 14%
801
instant messaging (IM) like XMPP/Jabber 18%
1017
StackOverflow or other StackExchange site 37%
2157
other (please specify) 8%
449
Total respondents 5783
Respondents who skipped this question 3058

27. Which communication channel(s) do you use?
Do you read the mailing list, or watch IRC channel?

git@vger.kernel.org (main) 35%
503
Git for Human Beings (Google Group) 12%
178
msysGit 9%
136
#git IRC channel 55%
789
#git-devel IRC channel 2%
36
#github or #gitorious IRC channel 22%
315
#revctrl IRC channel 0%
7
Total respondents 1441
Respondents who skipped this question 7400

28. How did you hear about this Git User's Survey?

git mailing list 4%
313
git-related mailing list (msysGit, Git for Human Beings, ...) 1%
72
mailing list or forum of some project 7%
566
#git IRC channel topic 1%
42
announcement on IRC channel 1%
61
git homepage 5%
408
git wiki 2%
147
git hosting site 20%
1629
software-related web site 7%
563
news web site or social news site (e.g. Digg, Reddit) 10%
835
blog (or blog planet) 11%
885
other kind of web site 2%
166
Twitter or other microblogging platform 15%
1211
other - please specify 17%
1390
Total respondents 8288
Respondents who skipped this question 553