Last Updated: May 31, 2021
·
9.172K
· avnerner

Git - Autocorrect spelling

You might sometimes do:

git pusj  ## instead of push

Git will reply with:

git: 'pusj' is not a git command. See 'git --help'.

Did you mean this?
push

But wouldn't do anything..

To make it fall back to the closest action (which is what you really wanted it to do), add:
git config --global help.autocorrect 1

And now you'll get:

WARNING: You called a Git command named 'pusj', which does not exist.
Continuing under the assumption that you meant 'push'
in 0.1 seconds automatically...

And command will execute as hoped !

Credit and do not miss on Zach Holman's:
http://www.youtube.com/watch?v=Foz9yvMkvlA

9 Responses
Add your response

Couldn't make it work using: git config --global help.autocorrect 1
Had to edit my .gitconfig and add it manually.
Great tip, thanks!

over 1 year ago ·

This seems dangerous...which makes it AWESOME ;)

over 1 year ago ·

Great tip! I'm glad that I won't need to fight with my crazy fingers anymore. Thanks!

over 1 year ago ·

For my slowness 1 sec is a little bit short, but I asume that changing help.autocomplete 1 to something higher will solve that.
thanks

over 1 year ago ·

Note that the 1 does not equate to one second, rather 0.1 seconds. Use 10 for one second.

over 1 year ago ·

How tight, or accurate, are the autocorrects? Are there any obvious scenarios that would result in an autocorrect executing that isn't the actual command you intended to run? I don't have a great example, but clearly typing "pusj" = "push".

over 1 year ago ·

Never had a problem with that. git docs are saying: "If more than one command can be deduced from the entered text, nothing will be executed.".
I don't know for sure but I believe a basic algorithm such as levenshtein distance is used. also, there is pretty much nothing that can not be undone in Git using the reflog, so I see no risk here whatsoever.

over 1 year ago ·

Cool. Thanks for the quick response, avnerner.

over 1 year ago ·

Dangerous case found by a friend, "git resert" ^^ . Very likely with Azerty layout.

over 1 year ago ·

Have a fresh tip? Share with Coderwall community!

Post
Post a tip
Did you know?

JavaScript on a page runs with the privileges of that origin. One altered library, tag manager, or snippet can read inputs, change what people see, and call your APIs as the user.

Security insights from Cside