Я вижу что-то очень странное с git
alias
эс. При использовании клавиши табуляции для автоматического выполнения git
команд я получаю bash
ошибки. Например, если я набираю git pu
, чтобы увидеть все варианты, это происходит:
$ git pu-bash: remote: command not found
-bash: -v: command not found
-bash: command substitution: line -327: syntax error near unexpected token `|'
-bash: command substitution: line -327: `| '
-bash: usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]: command not found
-bash: rev-parse: command not found
-bash: usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]: command not found
-bash: usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]: command not found
-bash: brname: command not found
-bash: brname: command not found
-bash: brname-trimmed: command not found
-bash: brname-trimmed: command not found
-bash: ls-files: command not found
-bash: @{u}: command not found
Терминал застревает на нескольких строках в вышеприведенном выводе, и после ^C
пару раз все строки с ошибкаминапечатано.
Я не уверен, к какому файлу относятся номера строк, к которым относятся ошибки: мои alias
s в ~/.gitconfig
заканчиваются на строке 174. Я закомментировал любой псевдоним, имя которого было указано всписок ошибок (например, brname
), или использовали команду git
, которая была указана (например, встроенная rev-parse
находится в ошибке). Это было сделано до тех пор, пока сообщения об ошибках не исчезли, и автозаполнение снова не заработало.
Итак, теперь в хорошем состоянии, если я наберу git pu
и нажму вкладку, я вижу следующее:
$ git pu
pull pull push push
Обратите внимание, что здесь ответы удваиваются, и для любого другого ввода я нажимаю клавишу Tab.
Один из псевдонимов, которые я закомментировал, чтобы получить хорошее состояние, это:
brname-trimmed = !git rev-parse --abbrev-ref HEAD | tr -d '\n'
Допустим, я на вкладке T1
- Если я открою новую вкладку T2, раскомментирую псевдоним на T1 и сохраню файл, я могу без проблем использовать git с автоматическим завершением на T2.
- Если я раскомментирую псевдоним, сохраню файл, а затем открою новую вкладку T2 и наберу
git pu
на T2. Я вижу:
$ git pu-bash: : command not found
-bash: command substitution: line -166: syntax error near unexpected token `&&'
-bash: command substitution: line -166: `&& '
строка 166 моего ~/.gitconfig
не имеет :
и &&
, оно даже закомментировано.
Если я раскомментирую псевдоним и изменим его на
xbrname-trimmed
(просто добавив x в начало, чтобы это было другое слово), автозаполнение будет работать отлично, независимо от того, когда открыт T2.
Я работаю на машине, которую не занимался разработкой несколько месяцев, поэтому не уверен, когда возникла проблема. Git-версия 2.22.0