如何关闭git自动更正?

时间:2016-09-26 17:32:19

标签: git autocorrect

当我输入一个git命令时,例如输入git git checkout myfile(注意额外的“git”),我得到以下输出:

WARNING: You called a Git command named 'git', which does not exist.
Continuing under the assumption that you meant 'init'
in 0.1 seconds automatically...
usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]

所以git假设我的意思是初始化,并且在它前进之前给我0.1秒的时间来看错。不酷的git!

如何关闭此“功能”?

4 个答案:

答案 0 :(得分:6)

要查看自动更正的设置,请键入:

git config help.autocorrect

the docs

help.autocorrect实际上是一个表示十分之一秒的整数。因此,如果将其设置为50,Git将在执行自动更正命令之前给您5秒的时间改变主意。

要关闭此功能,请使用以下命令:

git config --global help.autocorrect 0

答案 1 :(得分:1)

请注意help.autocorrect的默认值为0。

你也可以将它设置为大于1的值:它使用deciseconds,因此10将是1秒,30将是3秒,依此类推。

请注意,启动Git 2.14时,警告和继续消息将发生变化 请commit 968b1fe查看Marc Branchaud (``)(2017年6月21日) Junio C Hamano -- gitster --于2017年6月26日commit aca226e合并)

之前,help.autoCorrect = 15

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

后:

WARNING: You called a Git command named 'lgo', which does not exist.
Continuing in 1.5 seconds, assuming that you meant 'log'.

答案 2 :(得分:1)

FWIW,您也可以将//retrieving var userRef = firebase.database().ref().child('Classes' + '/' + user.uid); userRef.on('child_added', function(data) { var roomNames = data.val().TheClass; var ul = document.createElement('ul'); document.getElementById('myList').appendChild(ul); var li = document.createElement('li'); ul.appendChild(li); Object.keys(roomNames).forEach(function(key) { li.innerHTML += roomNames[key]; }); }); //adding function classcreation(q) { var checkcn = document.getElementById('classroomName').value; if (checkcn == "" && checkcn == null) { alert("Empty Class Name!!"); } else { var usuid = generateId(); var myClasses = {}; myClasses.TheClass = document.getElementById('classroomName').value; myClasses.Teacher = user.displayName; myClasses.TeacherID = user.uid; myClasses.ClassID = usuid; fbclass.child(user.uid).push().set(myClasses); } } 用作任何Git命令的参数。例如:

-c help.autocorrect=0

这对脚本很有用,因为您无需修改​​正在运行的环境。

在这种情况下,除非安装了git-svn,否则Git将无法识别git -c help.autocorrect=0 svn find-rev 5e2272613fa 命令并尝试回退到svn,这在脚本中可能是灾难性的。

答案 3 :(得分:0)

(在2020年)关闭该功能的最新方法是使用Git 2.30(第2021年第一季度):“ git $cmd $args,当$cmd not 时识别的子命令,默认情况下会尝试查看$cmd是否是现有子命令的错字,如果只有一种可能性,则视乎help.autocorrect的设置,有选择地执行更正的命令。

用户现在可以通过将配置变量设置为“ never ”来禁用整个内容,包括查找可能的错字所花费的时间。

请参见commit 644bb95Drew DeVault (ddevault)(2020年11月25日)。
(由Junio C Hamano -- gitster --commit 78abcff中合并,2020年12月14日)

help.chelp.autocorrect=never的意思是“不计算建议”

签名人:Drew DeVault

虽然help.autocorrect可以设置为0以拒绝可能键入错误的命令的自动执行,但它仍然花费时间来计算建议,并且浪费了屏幕空间。

更新help.autocorrect以接受字符串“ never”,以便在键入错误的命令时错误退出,以帮助希望根本从不看建议的更正的用户。

与此同时,引入“ immediate”作为更易读的方法来立即执行自动更正的命令,该操作可以用负值完成。

git config现在包含在其man page中:

如果git检测到拼写错误,并且可以准确地识别出一条有效的类似命令 到错误,git将在之后自动运行预期的命令 等待此配置值定义的持续时间 十秒(0.1秒)。

  • 如果该值为0,则建议更正 将显示,但不会执行。
  • 如果它是一个负整数或“ immediate”,则建议使用命令 立即运行。
  • 如果为“从不”,则根本不显示建议。

默认值为零。