Например, на новой машине ubuntu я только что запустил sudo apt-get git
, и при вводе нет завершения, например git check[tab]
.
Я ничего не нашел на http://git-scm.com/docs , но в наши дни завершение IIRC включено в пакет git, и мне просто нужна правильная запись в моем bashrc.
(cd ~ && exec cat .bashrc | grep completion)
.Ответы:
В Linux
в большинстве дистрибутивов скрипт завершения git устанавливается в
/etc/bash_completion.d/
(или/usr/share/bash-completion/completions/git
) при установке git, нет необходимости переходить на github. Вам просто нужно его использовать - добавьте эту строку в свой.bashrc
:В некоторых версиях Ubuntu автозаполнение git может не работать по умолчанию, переустановка с помощью этой команды должна исправить это:
На Mac
Вы можете установить завершение git с помощью Homebrew или MacPorts.
Homebrew
if
$BASH_VERSION
> 4:brew install bash-completion@2
(обновленная версия) Обратите особое внимание на то, какая версия bash у вас установлена, поскольку MacOS по умолчанию поставляется с выпуском 3.2.57 (1).добавить в
.bash_profile
:Для более старых версий bash:
brew install bash-completion
добавить в
.bash_profile
:MacPorts
sudo port install git +bash_completion
затем добавьте это в свой
.bash_profile
:больше информации в этом руководстве: Установите завершение Bash git
Обратите внимание, что во всех случаях вам необходимо создать новую оболочку (открыть новую вкладку / окно терминала), чтобы изменения вступили в силу.
источник
/usr/share/bash-completion/completions/git
./etc/bash_completion.d/git-prompt
используется для поддержки подсказок git, а не для завершения.brew uninstall bash-completion
то ,brew install git
если бы вы мерзавец установить через какой - то другой метод раньше, то вышеуказанные шаги будут работать.У меня была такая же проблема, выполните следующие действия:
затем добавьте следующие строки в свой
.bash_profile
(обычно в вашу домашнюю папку)источник: http://code-worrier.com/blog/autocomplete-git/
источник
export https_proxy=proxy_ip:proxy_port
я действительно не понимаю, почему он не получает настройки из системы.Большинство инструкций, которые вы видите, говорят вам о загрузке
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
и укажите это в сценарии запуска bash, например
.bashrc
.Но с этим есть проблема, потому что он ссылается на
master
ветку, которая является последней версиейgit-completion.bash
. Проблема в том, что иногда он ломается, потому что несовместим с установленной вами версией git.Фактически, прямо сейчас это сломается, потому что в
master
веткеgit-completion.bash
есть новые функции, требующие git v2.18, до которых еще не обновился ни один из менеджеров пакетов и установщиков. Вы получите ошибкуunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
Поэтому самым безопасным решением является ссылка на версию / тег, соответствующий установленному вами git. Например:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Обратите внимание, что
v2.17.
в URL-адресе вместоmaster
. И затем, конечно, обязательно укажите это в сценарии запуска bash.источник
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
всякий случай я сравнил его с версией 2.17.1 на github, и он совпадает.Ubuntu 14.10
Установить
git-core
иbash-completion
Для текущего использования сеанса
Чтобы он всегда был включен на всех сессиях
источник
Видеть Https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Вам просто нужно получить скрипт завершения
источник
Просто сделайте это в своем
~/.bashrc
:Другие ответы говорят вам установить
bash-completion
, вам не нужно этого делать, но если вы это сделаете, тогда нет необходимости напрямую указывать завершение. Вы делаете то или другое, а не то и другое одновременно.Более общее решение - запрос местоположения системы в соответствии с рекомендациями проекта завершения bash:
источник
на моем ubuntu здесь установлен файл:
вы можете перейти по ссылкам в
/usr/lib/git-core
папке. Вы можете найти там инструкцию, как настроить PS1 или использовать__git_ps1
источник
Может быть кому-то полезно: -
После загрузки .git-Completion.bash по следующей ссылке,
и пытаясь использовать функцию __git_ps1, я получал ошибку:
Очевидно, нам нужно загрузить скрипты отдельно от мастера, чтобы эта команда работала, поскольку __git_ps1 определен в git-prompt.sh. Так же, как при загрузке .git-Completion.bash, получите git-prompt.sh:
а затем добавьте следующее в свой .bash_profile
source ~ / .bash.git выполнит загруженный файл и
export PS1='\W$(__git_ps1 "[%s]")
команда добавит имя ветки оформления заказа после текущего рабочего каталога (если это репозиторий git).Так это будет выглядеть: -
dir_Name[branch_name]
где dir_Name - это имя рабочего каталога, а branch_name - это имя ветки, над которой вы сейчас работаете.Обратите внимание - __git_ps1 чувствителен к регистру.
источник
Arch Linux
Источник
/usr/share/git/completion/git-completion.bash
в одном из файлов запуска bash.Например:
Вы можете найти сценарий в других местах, например,
/usr/share/bash-completion/completions/git
но эти сценарии у меня не работали.источник
Ubuntu
Существует прекрасный ответ здесь . Работал у меня на Ubuntu 16.04
Windows
Git Bash - это инструмент для автоматического завершения. Не уверен, что это часть стандартного распространения, поэтому вы можете найти эту ссылку также полезной. Кстати, Git Bash позволяет использовать команды оболочки Linux для работы с окнами, что очень удобно для людей, имеющих опыт работы в среде GNU / Linux.
источник
На Github в проекте Git они предоставляют файл bash для автозаполнения команд git.
Вы должны загрузить его в домашний каталог и заставить bash запустить его. Это просто два шага, которые прекрасно объяснены (шаг за шагом) в следующем сообщении блога.
блог code-worrier: autocomplete-git /
Я тестировал его на Mac, он должен работать и на других системах. Вы можете применить тот же подход к другим операционным системам.
источник