Git Habits, Headaches and Terminology: A Poll Roundup

To learn more about how people use Git, a series of informal polls were run on Mastodon. The questions covered everything from merge vs. rebase preferences to how confident people feel about core terminology like HEAD and "fast-forward." The results are unscientific—the phrasing was casual and the audience is self-selecting—but they still offer a useful glimpse into common workflows and areas of confusion.

Working With History: Merge, Rebase and Conflicts

The relationship between merging and rebasing was a central theme. When asked about their overall approach, 41% of 1,872 respondents said they usually rebase and rarely create merge commits, while 29% said they usually merge and rarely rebase. Another 24% said they do both regularly.

Merge conflicts are a more common pain point. In a poll of 2,009 people asking how often they deal with nontrivial conflicts—where two people edited the same code and you have to think through reconciliation—52% said very rarely or never (a few times a year at most), 33% said about every month, and 10% said about every week.

When conflicts do happen, most people prefer to handle them manually. A poll asking for preferred resolution method found that 58% of 2,380 respondents choose to edit the conflict markers by hand, while 34% use a dedicated merge conflict tool. Some 5% said they'd delete their work and start over. Those who prefer the manual approach gave varied reasons in a follow-up poll: 38% said they'd rather use their usual text editor, 24% said most conflicts are simple, and 23% said conflicts are so infrequent it's not worth learning another tool.

One interesting detail came from a poll about conflict marker orientation. Asked if they knew that the order of code in a conflict differs between git merge and git rebase, only 15% of 1,511 respondents said yes. Another 14% said "yes, mostly," while 48% said no and 21% responded with "what?"

Fetching, Pulling and Shell Prompts

On the topic of bringing in remote changes, git pull was the clear favorite. When asked about their preference between git fetch and git pull, 37% of 2,036 respondents said they only use git pull, and 48% said they use a mix of both. Only 12% said they exclusively use git fetch.

The Git command line dominates the workflow. In a multicanswer poll of 2,661 people, 80% said they use the command line regularly, and 29% said they use a GUI regularly. Many also said they use the command line or a GUI occasionally (13% and 16%, respectively). Reflect that command-line focus, 71% of 2,365 respondents said they put their current Git branch in their shell prompt.

Mental Models of Commits and Branches

How people think about core Git objects showed a notable split. Asked how they think of a Git commit, 50% of 2,466 respondents chose "a diff from the previous commit," while 42% chose "a snapshot of the current state." The options were mutually exclusive, and historical views were far less common.

Branch mental models were more one-sided. When asked how they think about Git branches, 58% of 1,966 respondents chose "just the commits that 'branch' off," while 22% thought of them as the history of every previous commit. Only 15% chose the more pointer-focused model—"just the commit at the end."

Related to that, a separate poll asked whether HEAD is better thought of as a pointer to the current commit or to the current branch. The former had more support: 67% of 1,386 respondents chose "a pointer to the current commit," while 25% chose "a pointer to the current branch."

Losing Work and Making Mistakes

The polls also touched on reliability and confusion. When asked whether they had lost work because of a Git problem in the last year or two (including situations that were their own fault), 17% of 1,475 respondents said yes. A significant majority, 76%, said no, while 4% said they hadn't lost work but that Git had done "something else unforgivable."

Production bugs from bad conflict resolutions were also explored. Only 14% of 1,482 respondents said they'd seen such a bug many times, but 47% said they'd seen one once or twice. Roughly a third, 32%, said they never had.

Terminology Confidence Falters

A string of polls gauged how confident people feel about specific Git terms. The results show a wide range, with some high-frequency terms being surprisingly unfamiliar. The polls typically offered the same four options: "100%," "pretty confident," "somewhat confident?", and "literally no idea."

  • HEAD: Only 10% were 100% confident, and 14% had no idea. Another 38% were only somewhat confident.
  • Fast-forward: A quarter were fully confident, and another 31% were fairly confident. Notably, 21% had no idea what it means.
  • Ref/reference: Confidence dropped further here, with only 9% at 100% and 29% having no idea. Over 60% were in the partially or not confident categories.
  • Commit: On the flip side, people are very confident about a basic term, with 32% at 100% and 50% pretty confident. Only 1% had no idea.
  • Current branch: Confidence was high here, with 26% fully confident and 49% pretty confident, but a notable 18% felt uncertain.

A related poll pointed to potential misunderstanding of Git's status messages. A question asking if respondents knew that git status reporting "Your branch is up to date with 'origin/main'" might not mean it's actually synchronized with the remote branch saw 63% say yes, but a further 13% responded "what?" and 7% said no.

The meaning of HEAD became even fuzzier when examined in practical terms. A poll asking if "detached HEAD state" and "not having any branch checked out" are the same thing saw only 52% say yes, with 27% saying no and 17% saying "what?"

Git vs. The Alternatives

Among those who have used other version control systems, Git is preferred by a wide margin. In a poll of 1,642 people who've used both Git and SVN, 91% said they prefer Git, with SVN drawing just 3% of the vote. A similar poll between Git and Mercurial (hg) saw 65% of 684 respondents prefer Git, but a more substantial minority of 21% said they prefer hg. Another 7% said it depends.