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

From: Andreas Ericsson <[email-masked]>
Date: Sun, 07 Sep 2008 10:31:01 +0200

Jakub Narebski wrote:
> 
> 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.

I believe people have finally gotten to grasp with the index. Besides,
those answers are probably a bit skewed, as people that use git as just
a faster and better cvs/svn aren't likely to be those who answer the
survey.

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

I know myself and most others where I work use it as a 'fixup' command.
One commit is done, the second is being staged (git add or git add -i),
while testing reveals some silly bug in one of the files from the last
commit. Assuming that file isn't touched again, it's easy to fix up
using "git commit --amend <file>", as that automatically sets up a new
index so that the staged changes remain staged.

The alternative would be to do a mixed reset, git add <file>, git commit
--amend. Not so sexy.

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

Perhaps many who use it don't know that they are. The "git sync"
alias is much in use where I work. It's basically just a
"git pull --rebase && git push". As it was suggested on the mailing
list and also listed in some tutorial somewhere (don't know where),
I can imagine quite a lot of people using it without realising it.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231