Я следовал за процессом git-completion
согласно описанию, предоставленному на https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-4e0beac0388a :
Первым шагом является выполнение этой команды в окне терминала, это в основном захват скрипта 'git-creation.bash' и помещение его в ваш домашний каталог.
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
Теперь добавьте эту строку в ваш ~ / .bash_profile. Это позволит выполнить скрипт автозаполнения git, если он присутствует
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
Теперь вы можете перезапустить все окна терминала или просто обновить окно терминала, в котором вы хотите использовать этот скрипт. Для обновления выполните:
source ~/.bash_profile
Вот ошибка, которую я получаю при tab
нажатии клавиши после ввода git
:
unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
git version 2.17.1
Ответы:
Я столкнулся с точно такой же проблемой. После некоторого копания я наконец понял, в чем проблема корня.
Они внесли некоторые существенные изменения в
git-completion.bash
сценарий , который требует новой функции в мерзавце v2.18,--list-cmds
. Проблема в том, что ни один из менеджеров пакетов еще не обновился до git v2.18.В большинстве инструкций сказано скачать raw.githubusercontent.com/git/git/
master
/contrib/completion/git-completion.bash. Но это не обязательно лучший вариант, потому что иногда вы будете загружать более новуюgit-completion.bash
версию, чем поддерживает ваша версия git.Поэтому решение состоит в том, чтобы загрузить
git-completion.bash
версию, соответствующую вашей версии git. Тогда источник это снова. В этом случае:https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Обратите внимание, что это ссылка
v2.17.1
вместоmaster
. Позже, когда вы установите git v2.18, вы можете переключиться обратноmaster
илиv2.18
пометить.источник
git-completion.bash
работало ранее.Обновление git до последней версии - самое простое решение. https://git-scm.com/download/mac
После этого обязательно следуйте инструкциям
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
Добавьте эту маленькую команду в
.bash_profile
файлif [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi
источник
Не создавайте это из источника; вместо этого установите из MacPorts .
Чтобы установить git с автозаполнением, введите следующую команду:
закройте и снова откройте ваш терминал и git завершение должно работать
источник
sudo find / -type -name "git-completion.bash"
и опубликуйте результаты на свой вопрос.Вы должны проверить свою версию git и убедиться, что она обновлена как минимум до версии 1.8.
У меня была более старая версия 1.7.11, но она не сработала, и вы получили ту же ошибку, что и вы.
источник
git version 2.17.1
Если вы используете Homebrew, вы можете
обновить git:
brew upgrade git
источник установленного git-creation.bash в вашем
~/.bash_profile
:. /usr/local/etc/bash_completion.d/git-completion.bash
Это гарантирует, что установленные версии git и сценария завершения совпадают.
источник