在 Git 中,如果输错了一个命令,Git 会给出相应的提示。比如,如果输入 git stattus
,那么会有如下的输出:
git: 'stattus' is not a git command. See 'git --help'.
The most similar command is
status
除了报错之外,Git 也给出了可能的正确答案。需要注意的是,不仅仅是 Git 自身的命令,所有配置的 Alias 也可以享受同样的待遇。比如,假设已经设置了一个 delbranch
的 Alias,那么在输入 git dlbranch
之后,也会得到如下的输出:
git: 'dlbranch' is not a git command. See 'git --help'.
The most similar command is
delbranch
一个很直观的想法是:既然 Git 可以计算出可能的正确输入是什么,那么直接让 Git 执行那个结果,就可以避免一次重新输入了。
根据 Git 给出的文档,可以通过类似如下的配置,来打开自动纠错的功能:
[help]
autocorrect = 30
根据 Git 文档的描述,上面提到的 30
配置,是“三秒”的意思。也就是说,配置之后,Git 会给用户三秒的时间反悔,否则就会执行(可以通过 Ctrl+C
阻止纠错被自动执行)。输出如下:
WARNING: You called a Git command named 'stattus', which does not exist.
Continuing in 3.0 seconds, assuming that you meant 'status'.
另,The Fuck 也是一个类似思路的 Bash 自动纠错解决方案,避免重复输入。