Как отключить автозамену git?
Когда я набираю команду git, такую как: git git checkout myfile
(обратите внимание на дополнительный "мерзавец") Я получаю следующий вывод:
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 предполагает, что я имел в виду init, и дает мне все 0,1 секунды, чтобы увидеть ошибку, прежде чем она двинется вперед. Не крутой мерзавец!
Как отключить эту "функцию"?
5 ответов
Чтобы увидеть настройку автозамены, введите:
git config help.autocorrect
Согласно документам:
help.autocorrect - это целое число, представляющее десятые доли секунды. Поэтому, если вы установите его на 50, Git даст вам 5 секунд, чтобы передумать, прежде чем выполнять автокорректированную команду.
Чтобы отключить это, используйте команду:
git config --global help.autocorrect 0
FWIW, вы также можете использовать -c help.autocorrect=0
в качестве параметра для любой команды Git. Например:
git -c help.autocorrect=0 svn find-rev 5e2272613fa
Это полезно для сценариев, так как вы не изменяете среду, в которой вы работаете.
В этом случае, если не установлен git-svn, Git не сможет распознать svn
командовать и попытаться отступить к serve
вместо этого, что может иметь катастрофические последствия в сценарии.
Самый современный способ отключить это (в 2020 году) - в Git 2.30 (первый квартал 2021 года): "
git $cmd $args
, когда не распознанная подкоманда, по умолчанию пытается проверить, не
$cmd
является опечаткой существующей подкоманды и при необходимости выполняет исправленную команду, если есть только одна возможность, в зависимости от настройки.
Теперь пользователи могут отключить все это , включая циклы, потраченные на поиск вероятной опечатки, установив для переменной конфигурации значение ''.
См. (25 ноября 2020 г.) Дрю ДеВолт (
ddevault
) .
(Слияние Junio C Hamano -
gitster
- в коммите 78abcff, 14 декабря 2020 г.)
Commit 644bb95
help.c
:help.autocorrect=never
означает "не рассчитывать предложения"Подписано: Дрю ДеВолт
Хотя может быть установлено значение 0, чтобы отклонить автоматическое выполнение команд, возможно, с ошибками, он по-прежнему тратит циклы на вычисление предложений и тратит впустую пространство экрана.
Обновлять
help.autocorrect
принять строку "never
"просто выйти с ошибкой при неправильном вводе команд, чтобы помочь пользователям, которые предпочитают никогда не видеть предлагаемые исправления.При этом введите "" как более читаемый способ немедленно выполнить автокорректирующую команду, которая может быть выполнена с отрицательным значением.
git config
теперь включает в свою справочную страницу :
Если git обнаруживает опечатки и может идентифицировать ровно одну допустимую команду, аналогичную ошибке, git автоматически запускает намеченную команду после ожидания периода времени, определенного этим значением конфигурации в децисекундах (0,1 сек).
- Если это значение равно 0, предлагаемые исправления будут показаны, но не выполнены.
- Если это отрицательное целое число, или "
immediate
", предложенная команда запускается немедленно.- Если «никогда», предложения не отображаются вообще.
Значение по умолчанию - ноль.
Обратите внимание на значение по умолчанию для help.autocorrect
это 0.
Вы также можете установить для него значение, большее 1: оно использует десятичные секунды, поэтому 10 будет 1 секунда, 30 будет 3 секунды и так далее.
Обратите внимание, что начиная с Git 2.14, предупреждение и сообщение о продолжении изменятся.
См. Коммит 968b1fe (21 июня 2017 г.) от Marc Branchaud (``).
(Объединено Юнио С Хамано - gitster
- в комитете aca226e, 26 июня 2017 г.)
До того, как 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'.