У меня тоже была эта проблема, и каждый поиск Google возвращал меня к этому сообщению.
Я публикую решение, которое я нашел, используя ответ Михала и комментарий Денита ...
Мой git-flow.bash был идентичным, но я думаю, что наши файлы завершения git могут отличаться.
Чтобы это исправить, мне пришлось изменить файл завершения git, расположенный по адресу /etc/bash_completion.d/git
Старый:
# __git_find_on_cmdline requires 1 argument
__git_find_on_cmdline ()
{
local word subcommand c=1
while [ $c -lt $cword ]; do
word="${words[c]}"
for subcommand in $1; do
if [ "$subcommand" = "$word" ]; then
echo "$subcommand"
return
fi
done
c=$((++c))
done
}
Новое:
# __git_find_on_cmdline requires 1 argument
__git_find_on_cmdline ()
{
local word subcommand c=1
while [[ $c -lt $cword ]]; do
word="${words[c]}"
for subcommand in $1; do
if [ "$subcommand" = "$word" ]; then
echo "$subcommand"
return
fi
done
c=$((++c))
done
}
Обратите внимание на двойную скобку, которую я должен был добавить к новому коду. Это было единственное изменение, которое я сделал.