git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Git User's Survey 2008 partial summary, part 4 - how do we use Git

From
Jakub Narebski <jnareb@gmail.com>
Date
Sep 6, 2008, 22:17 UTC
Message-ID
<200809070017.09463.jnareb@gmail.com>
In-Reply-To
<200809031607.19722.jnareb@gmail.com>
This is partial summary of Git User's Survey 2008 after more that 2000 
(yes, that is more than _two thousands_ responses) just after the 6 days
of running the survey.  It is based on "Analysis" page for this survey:
  http://www.survs.com/shareResults?survey=M3PIVU72&rndm=OKJQ45LAG8

Please think of ways to examine this data, and about conclusions that we can draw from those statistics.

27 & 28. How often do you use the following forms of git commands or
         extra git tools? (Matrix - One answer per row)
       + never / rarely / sometimes / often

First, even though those questions looks a bit terryfying on first glance, with this large matrix of commands, most people (around 3/4) filled those two questions: 1562 responses with 540 skipped for 27., and 1454 total and 648 skipped for its continuation, question 28.

This large matrix had the additional advantage of teaching newcomers to git about some rarer or newer git commands or versions of git commands.

Below there is very simple statistics based on individual columns, without taking into consideration any correlation between columns, or any relation. For example it doesn't take into account that for some 'often' is somene's else 'sometimes'.

Top 10 often used commands

=================================== Command + options | often [%] ----------------------------------- git push | 72% (1120) git add + git commit | 65% (1012) git commit -a | 63% (981) git pull (no remote) | 44% (682) git pull <remote> | 37% (578) git commit <file>... | 34% (528) git merge | 31% (482) gitk | 28% (404) git rebase | 25% (365) git stash | 22% (320) ................................... git remote update | 6% (92)

Analysis: strangely "git add + git commit" is slightly more used than
"git commit -a"; I would suspect that "git commit -a" would dominate a
bit over other forms of committing.  What is for me more suprising is
that "git commit <file>..." has such large presence in often used
commands; I would think that it should be mostly used as 'sometimes'
command.

Pity there was no "git pull . <branch>" to compare if people swith to newer "git merge <branch>" for merging local branches.

Top 10 sometimes used commands

=================================== Command + options | sometimes ----------------------------------- git merge | 28% (443) git pull <remote> | 27% (429) git stash | 26% (380) git remote | 26% (379) git revert | 24% (346) git rebase | 23% (332) gitk | 23% (328) git fetch [<options>] | 21% (331) git commit --amend | 20% (314) git commit <file>... | 20% (311)

Analysis: "git commit --amend" and "git commit <file>" are here. That
is understandable, and for me expected.
Top 10 rarely used commands

=================================== Command + options | rarely [%] ----------------------------------- git revert | 31% (454) git pull <URL> <ref> | 22% (348) git blame | 21% (328) git fetch [<options>] | 20% (313) git rebase | 20% (291) git remote | 20% (289) git merge | 18% (286) git apply | 18% (284) git pull --rebase | 18% (283)

Analysis: "git pull <URL> <ref>", direct pull without using
remote-tracking branches, is quite popular among rarely used
commands.  Strange that "git pull ---rebase" is among rarely
used; I would think it is question of workflow... but perhaps
rarely encountered workflow.

Notice that "git blame" is more 'rare' than gitk, which is in top 10 of both 'often' and 'sometimes' table. I guess that this is caused by the fact that git has other, often better, ways to examine and browse history.

Top 12 never used (or not well known) commands

========================================================== Command + options never rarely sometime often ---------------------------------------------------------- git relink 1217-84% 37- 3% 6- 0% 1- 0% git cvsserver 1255-80% 23- 1% 8- 1% 3- 0% git imap-send 1245-80% 35- 2% 6- 0% 2- 0% git cvsexportcommit 1227-79% 26- 2% 16- 1% 12- 1% git citool 1191-76% 51- 3% 15- 1% 17- 1% git bundle 1184-76% 80- 5% 22- 1% 8- 1% git request-pull 1110-76% 105- 7% 32- 2% 16- 1% git instaweb 1142-73% 97- 6% 31- 2% 8- 1% git ... --dirstat 1141-73% 93- 6% 39- 2% 8- 1% git am -i 1129-72% 130- 8% 48- 3% 8- 1% git blame -L 1123-72% 103- 7% 50- 3% 11- 1% git daemon (pushing) 1110-71% 99- 6% 38- 2% 36- 2%

It is sorted by percentage; note that commands from different questions might have higher percentage even though lower number of replies: it is caused by the fact that number of replies (non skipped responses) is different.

Analysis: Nobody is I think suprised by the commands that appear in
this table...
29. Which of the following features do or did you use? 
30. Which features do you find unique and/or useful ones,
    compared to other systems (other SCMs)?
    (Choice - Multiple answers)

There were 1387 responses / 715 skipped for question 29., and there were 1190 responses / 912 skipped for question 30.

These two questions were a bit related, but first deals with the features one uses (even if they are not unique to Git, or very interesting), while second deals with which features one think to be useful (even if one doesn't use them).

The 'use' columns conatin percentage of replies for question 29., while 'think' column is about question 30.

==================================================
Feature description                     use  think
--------------------------------------------------
gitk or other history viewer            72%   ---
stash                                   56%   63%
the index                               ---   44%
shell completion of commands            42%   ---
add --interactive
  or other partial commit helper        35%   38%
git-gui or other commit tool            31%   ---
interactive rebase                      31%   39%
submodules (subprojects)                30%   25%
bisect                                  28%   37%
my own scripts / scriptability          25%   28%
git-aware shell prompt                  23%   ---
integration with IDE/editor             20%   ---
working with dirty tree                 18%   14%
mergetool                               17%   13%
reflog                                  16%   16%
detaching HEAD                          14%    9%
non-default hooks / hooks system        11%   19%
shallow clone                            9%    6%
eol conversion (crlf)                    8%    6%
separate worktree                        7%   11%
git-filter-branch                        7%    7%
alternates mechanism                     6%    7%
gitattributes                            6%    4%
patch management interface               5%   ---
git bundle (off-line transport)          5%   10%
multiple worktrees (git-new-worktree)    3%   ---
commit templates                         2%    3%

About items which are missing in one of columns: either it is a broad concept so it is hard to say that one can "use" such feature, or feature is not unique enough, or is not part of git... or I forgot to add it to second part.

Analysis: most popular is using history viewer (such as gitk, qgit,
giggle, GitNub, git-cola, etc.); stash even though it is quite new
feature also is very popular.  For me a bit strange is that partial
commits has more users than graphical commit tools like
git-gui/git-citool.  Most (well, 44%) think that the index is unique
and/or useful feature.  Biggest difference in number of replies
between 29. and 30. question belongs, from what I see, to bisect.
31. If you use some important Git features not mentioned above, what
    are those? (Open ended text - Essay)
Total respondents: 115, skipped this question: 1987.

This I guess mean that we were exhaustive in our list of features, as it doesn't seem to be many omissions...

-- 
Jakub Narebski
Poland
Previous: Shawn O. PearceNext: Andreas Ericsson
Message 17 of 33 in “Git User's Survey 2008 partial summary”
  1. Jakub NarebskiSep 3, 2008
  2. Shawn O. PearceSep 3, 2008
  3. H.Merijn BrandSep 3, 2008
  4. Felipe ContrerasSep 3, 2008
  5. David AguilarSep 4, 2008
  6. Jan HudecSep 5, 2008
  7. David AguilarSep 6, 2008
  8. David BrownSep 3, 2008
  9. Scott ChaconSep 3, 2008
  10. Jakub NarebskiSep 3, 2008
  11. Jakub NarebskiSep 4, 2008
  12. Git User's Survey 2008 partial summary, part 3Jakub Narebski, Sep 6, 2008
  13. Shawn O. PearceSep 6, 2008
  14. Andreas EricssonSep 6, 2008
  15. Jonas FonsecaSep 7, 2008
  16. Shawn O. PearceSep 7, 2008
  17. Git User's Survey 2008 partial summary, part 4 - how do we use GitJakub Narebski, Sep 6, 2008
  18. Andreas EricssonSep 7, 2008
  19. Jakub NarebskiSep 7, 2008
  20. Git User's Survey 2008 partial summary, part 5 - other SCMJakub Narebski, Sep 11, 2008
  21. Anatol PomozovSep 11, 2008
  22. Jeff KingSep 11, 2008
  23. david@lang.hmSep 11, 2008
  24. Jakub NarebskiSep 12, 2008
  25. david@lang.hmSep 13, 2008
  26. Jakub NarebskiSep 13, 2008
  27. Mark BrownSep 15, 2008
  28. Nguyen Thai Ngoc DuySep 14, 2008
  29. Jakub NarebskiSep 14, 2008
  30. david@lang.hmSep 15, 2008
  31. Andreas EricssonSep 15, 2008
  32. Jakub NarebskiSep 16, 2008
  33. Jakub NarebskiSep 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.