Report: Git User's Survey 2012

Activity
68% Completion Rate
11765
Views
6385
Responses
4346
Complete
2039
Incomplete
Responses

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

Total respondents 5268
Respondents who skipped this question 444

2. How old are you (in years)?

Total respondents 5265
Respondents who skipped this question 447

3. Have you found Git easy to learn?

Very easy 4.7%
232
Easy 20.4%
1003
Reasonably easy (average) 55.2%
2708
Hard 17.6%
866
Very hard 2%
98
Total respondents 4907
Respondents who skipped this question 191

4. Have you found Git easy to use?

Very easy 9.3%
453
Easy 33.1%
1621
Reasonably easy (average) 46.9%
2293
Hard 9.4%
462
Very hard 1.3%
64
Total respondents 4893
Respondents who skipped this question 205

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

I don't remember and cannot check the version 6.2%
302
pre 1.4.x 0.2%
9
1.4.x 0.5%
22
1.5.x 1.2%
58
1.6.x 3.8%
185
1.7.x 83.5%
4078
1.8.x 9.7%
475
1.x.y-rcN version (release candidate) 0.6%
29
minor (maintenance) release 1.x.y.z 11.2%
548
'master' branch of official git repository 2.8%
137
'next' branch of official git repository 0.5%
23
'pu' branch of official git repository 0.2%
12
version from msysGit / Git for Windows fork repository 11.8%
575
JGit implementation (e.g. via Eclipse plugin, EGit) 6.4%
313
other git implementation (Git#, Dulwich, etc.) 0.8%
39
other, please specify 2.3%
111
Total respondents 4881
Respondents who skipped this question 217

6. Rate your own proficiency with Git:

1. novice 5.2%
257
2. casual, needs advice 16.3%
800
3. everyday use 35%
1713
4. can offer advice 34.3%
1679
5. know it very well 9.2%
449
Total respondents 4898
Respondents who skipped this question 200

7. What kind of projects etc. do you use Git for?

work projects 86.4%
3906
unpaid projects 63%
2848
proprietary projects 33.7%
1525
OSS development (also public domain, and published and unlicensed) 53.7%
2427
private stuff (unpublished), in house 72.9%
3298
other (please specify) 3.8%
172
Total respondents 4522
Respondents who skipped this question 103

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

code (programming) and its documentation 98.8%
4466
data, documents (also e.g. static website) 52.6%
2380
sharing data or sync 23.3%
1055
managing configuration files 44.1%
1996
backend for wiki, blog, or other web app 15.3%
692
backend for bugtracker / issue tracker 3.4%
152
backend (versioned storage) for other kind of app 5.4%
244
interacting with other SCM (e.g. git-svn) 22.2%
1003
other (please specify) 2.5%
112
Total respondents 4521
Respondents who skipped this question 104

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

GNU/Linux (includes MeeGo, Tizen, Mer) 81.2%
3671
Android 4.5%
204
*BSD (FreeBSD, OpenBSD, NetBSD, etc.) 4.7%
211
MacOS X (Darwin) 40.4%
1827
MS Windows/Cygwin 12.7%
575
MS Windows/msysGit (MINGW) 33.8%
1527
some MS Windows (unknown or other) 3.8%
172
other Unix 3.2%
146
Other, please specify 1.2%
54
Total respondents 4520
Respondents who skipped this question 105

10. What Git implementations do you use?

git (core) commandline (includes msysGit) 97.2%
4372
JGit (Java implementation), e.g. via Eclipse plugin 13.7%
616
NGit or Git# (C# implementation) 0.8%
36
Dulwich (pure-Python implementation) 1.2%
52
Git::PurePerl (Perl implementation) 0.3%
15
git.js (JavaScript) 0.5%
24
libgit2 bindings 3.5%
156
I don't know (e.g. using via web like on GitHub, or via GUI or plugin only) 7.9%
356
Other (please specify) 3.9%
175
Total respondents 4498
Respondents who skipped this question 127

11. What Git interfaces and frontends do you use?
Note that there is separate question about GUIs and tools.

Easy Git 10.4%
123
StGIT 2.4%
29
Guilt 1.4%
17
TopGit 0.8%
10
Zit 0.4%
5
Other (please specify) 85.8%
1019
Total respondents 1187
Respondents who skipped this question 3438

12. What kind of Git tools do you use?

editor/IDE VC integration (e.g. EGit, TextMate bundle, magit) 39.6%
1585
build tool integration (e.g. git plugin for Maven, gitbuilder, Parabuild) 11.6%
463
continuous integration (CI) (e.g. cidaemon) 18.2%
730
commit notification tools (e.g. ciabot, git-notify) 6.7%
269
filemanager / shell extension (e.g. git-cheetah, TortoiseGit) 13.5%
540
filesystem interface (e.g. gitfs, figfs) 1%
42
graphical history viewer/browser (e.g. gitk, tig) 57%
2282
graphical commit tool (e.g. git-gui) 28.1%
1127
graphical diff and/or merge tool (e.g. Kompare, Meld) 34.9%
1399
graphical blame or pickaxe tool 6.9%
276
tool to manage git repositories (e.g. Gitosis, Gitolite) 22.4%
896
git-instaweb, or self-hosted web interface 7.9%
316
code review system (e.g. Gerrit) 17.7%
710
web interface of git software forge (e.g. Gitorious, GitHub:FI, InDefero) 36.6%
1466
patch management interface (e.g. StGit, Guilt) 0.9%
36
tracking some files out-of-band (e.g. git-annex, git-media) 2.3%
94
storing metadata (e.g. metastore, gitperms, git-cache-meta) 0.7%
28
managing composite repositories (e.g. git-submodule, git-subtree, gitslave, repo) 17%
680
my own scripts (for daily use) 19.1%
763
my own scripts (for special tasks) 17.2%
687
other kind, please specify 5.2%
207
Total respondents 4004
Respondents who skipped this question 621

13. List git tools that you use (optional)
one per line, or as comma separated list

Total respondents 1200
Respondents who skipped this question 3425

14. What do you use to create new commits?

never rarely often always
command line
99 - 2.2%
495 - 11.1%
1216 - 27.3%
2649 - 59.4%
4459
graphical commit tool (GUI)
2068 - 52.7%
878 - 22.4%
731 - 18.6%
249 - 6.3%
3926
IDE/editor integration
2167 - 55.1%
1013 - 25.7%
607 - 15.4%
148 - 3.8%
3935
filemanager extension
3218 - 86.1%
362 - 9.7%
128 - 3.4%
30 - 0.8%
3738
web interface
2752 - 73.2%
814 - 21.6%
172 - 4.6%
22 - 0.6%
3760
Total respondents 4502
Respondents who skipped this question 123

15. How do you create new commits?

never rarely often always
from current state of directory (e.g. "git commit -a")
665 - 16.1%
1154 - 27.9%
1777 - 42.9%
546 - 13.2%
4142
incremental build (e.g. "git add" + "git commit")
319 - 7.5%
742 - 17.5%
2072 - 48.8%
1114 - 26.2%
4247
selecting files to commit (e.g. "git commit ")
1689 - 43.2%
1186 - 30.3%
891 - 22.8%
147 - 3.8%
3913
selecting chunks to commit (e.g. "git commit -p")
2154 - 56%
952 - 24.7%
654 - 17%
89 - 2.3%
3849
Total respondents 4474
Respondents who skipped this question 151

16. Do you use paid git hosting, and if so, why?

N/A (don't use paid git hosting) 71.8%
3083
private repositories 27.4%
1177
increased limits (repository size, number of repositories) 5.6%
242
paid support / help 1.7%
72
extra features compared to free plan / free hosting 4.7%
202
other, please specify 2.5%
108
Total respondents 4291
Respondents who skipped this question 196

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

git protocol (e.g. git://example.com/repo.git) 64.2%
2772
ssh (e.g. ssh://example.com/repo.git or user@example.com:/repo.git) 75.9%
3279
http (e.g. http://example.com/repo.git) 45.9%
1980
rsync (DEPRECATED) (e.g. rsync://example.com/repo.git) 0.3%
11
filesystem (e.g. /path/to/repo.git or file:///path/to/repo.git) 19.9%
858
via git-bundle 2.3%
99
foreign SCM import / script like git-svn 13%
560
Other, please specify 2.5%
107
Total respondents 4318
Respondents who skipped this question 169

18. How do you publish/propagate your changes?

push via SSH 83.8%
3609
push via HTTP or HTTPS 35.9%
1548
push via git protocol (not available by default) 12.1%
520
push (unknown) 7.9%
340
pull request (+ any form of announcement / notification) 20.6%
887
format-patch + email 9.9%
426
format-patch + other (e.g. reviewboard, issue tracker or forum) 4.3%
185
git bundle 1.9%
80
git-svn (to Subversion repository) 12%
515
git-p4 (to Perforce repository) 1%
44
foreign SCM interface (other than mentioned above) 1.6%
69
other - please specify 3.1%
134
Total respondents 4307
Respondents who skipped this question 180

19. What git workflow(s) is used by projects in which development you participate?

single developer, only private repository (no interaction) 67.5%
2937
centralized workflow (push to common repository) 69.2%
3013
branched centralized (push to different branches in common repository) 50.3%
2189
peer-to-peer workflow (all repositories roughly equal) 9.5%
413
integration-manager workflow (maintainer pulls/applies patches to "blessed" repository)) 18.8%
819
dictator and lieutenants workflow (hierarchical workflow) 5.1%
223
using collaborative code review tool, e.g. Gerrit 12.6%
548
other workflow, please explain 1.7%
74
Total respondents 4352
Respondents who skipped this question 135

20. What other centralized version control systems do you use beside Git?

PVCS 0.9%
24
SCCS 0.5%
14
RCS 2.9%
75
CVS 17.8%
458
Subversion 79.8%
2058
Perforce 8.7%
224
ClearCase 10.7%
276
AccuRev SCM 0.5%
12
StarTeam 1.1%
28
Visual SourceSafe 3.4%
88
Vault 0.6%
15
Team Foundation Server 6.6%
170
Visual Studio Team System / ALM 1.6%
40
Rational Team Concert 0.9%
22
other centralized SCM, please specify 3.7%
95
Total respondents 2580
Respondents who skipped this question 1881

21. What other distributed version control systems do you use beside Git?

Bazaar 24.7%
328
Mercurial 80.9%
1073
Monotone 1.4%
18
Darcs 5.4%
72
SVK 1.1%
15
Fossil 2.6%
34
Veracity 0.8%
11
BitKeeper 1.3%
17
Code Co-Op 0.2%
3
Teamware 0.7%
9
Plastic SCM 0.8%
11
other DVCS, please specify 4.1%
55
Total respondents 1326
Respondents who skipped this question 3135

22. Overall, how happy are you with Git?

unhappy 0.7%
32
not so happy 4.7%
206
happy 22.4%
977
very happy 51.8%
2262
completely ecstatic 20.3%
886
Total respondents 4363
Respondents who skipped this question 76

23. 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
517 - 12.6%
648 - 15.7%
1035 - 25.1%
1122 - 27.3%
794 - 19.3%
3.25 4116
documentation
178 - 4.4%
848 - 20.8%
1415 - 34.7%
1171 - 28.7%
468 - 11.5%
3.22 4080
performance
509 - 12.7%
2388 - 59.4%
719 - 17.9%
307 - 7.6%
95 - 2.4%
2.28 4018
portability
1003 - 25.2%
1611 - 40.4%
635 - 15.9%
492 - 12.3%
246 - 6.2%
2.34 3987
more features
618 - 15.6%
1754 - 44.1%
1055 - 26.6%
450 - 11.3%
96 - 2.4%
2.41 3973
tools (e.g. GUI)
736 - 18%
816 - 19.9%
919 - 22.4%
927 - 22.6%
699 - 17.1%
3.01 4097
localization (translation)
2177 - 54.8%
1337 - 33.7%
213 - 5.4%
154 - 3.9%
92 - 2.3%
1.65 3973
community (mailing list)
2037 - 51.7%
1273 - 32.3%
439 - 11.1%
148 - 3.8%
46 - 1.2%
1.70 3943
community (IRC)
2178 - 55.3%
1183 - 30.1%
385 - 9.8%
143 - 3.6%
47 - 1.2%
1.65 3936
Total respondents 4239
Respondents who skipped this question 200

24. What do you hate about Git? (optional)

Total respondents 1586
Respondents who skipped this question 2853

25. How useful have you found the following sources of Git documentation?

never used not useful somewhat useful
Git Wiki
1823 - 44.3%
158 - 3.8%
1345 - 32.7%
789 - 19.2%
4115
Git Reference site
1146 - 27.7%
118 - 2.9%
1390 - 33.6%
1481 - 35.8%
4135
other on-line help
539 - 13.2%
100 - 2.5%
1526 - 37.5%
1903 - 46.8%
4068
help distributed with git
755 - 18.5%
300 - 7.3%
1407 - 34.4%
1623 - 39.7%
4085
printed books (or ebooks)
1810 - 44.3%
112 - 2.7%
882 - 21.6%
1283 - 31.4%
4087
Total respondents 4225
Respondents who skipped this question 127

26. How useful have you found the following kinds of Git documentation?

never used not useful somewhat useful
in-command (command messages)
153 - 3.8%
247 - 6.1%
1828 - 44.9%
1843 - 45.3%
4071
command manpages
367 - 9.2%
273 - 6.8%
1382 - 34.5%
1985 - 49.5%
4007
concept manpages (e.g. gitcli, gitworkflows)
2424 - 62.3%
223 - 5.7%
737 - 19%
505 - 13%
3889
tutorials
707 - 17.7%
144 - 3.6%
1730 - 43.4%
1408 - 35.3%
3989
technical documentation
1284 - 33%
273 - 7%
1516 - 38.9%
823 - 21.1%
3896
contrib/examples
2174 - 56.5%
164 - 4.3%
852 - 22.1%
657 - 17.1%
3847
"The Git User's Manual"
1618 - 41.2%
103 - 2.6%
1108 - 28.2%
1102 - 28%
3931
"Pro Git"
1398 - 34.9%
70 - 1.7%
671 - 16.8%
1862 - 46.5%
4001
other printed books (or ebooks)
2561 - 67.1%
106 - 2.8%
669 - 17.5%
479 - 12.6%
3815
Total respondents 4154
Respondents who skipped this question 198

27. What channel(s) do you use to request help about Git?

N/A (didn't request help about Git) 34.5%
1385
git mailing list (git@vger.kernel.org) 4.7%
190
msysGit mailing list / Google Group 0.9%
37
"Git for Human Beings" Google Group 1.2%
47
IRC (#git) 8.5%
341
IRC (other git/SCM related, e.g. #github) 2%
81
IRC (other than above) 4.1%
165
request in blog post or on wiki 3.9%
158
asking git guru/colleague 35%
1402
project mailing list, or IRC, or forum 4.6%
185
Twitter or other microblogging platform 8.6%
345
instant messaging (IM) like XMPP/Jabber 6.1%
246
StackOverflow or other StackExchange site 44.8%
1796
other (please specify) 8%
319
Total respondents 4011
Respondents who skipped this question 341