Как настроить завершение командной строки git bash?
например. на новой машине ubuntu, я только что запустил sudo apt-get git
, и там нет завершения при вводе, например. git check[tab]
.
Я ничего не нашел на http://git-scm.com/docs, но завершение IIRC включено в пакет git в эти дни, и мне просто нужно правильная запись в моем bashrc.
Ответы
Ответ 1
В линуксе
в большинстве дистрибутивов скрипт завершения git устанавливается в /etc/bash_completion.d/
(или /usr/share/bash-completion/completions/git
) при установке git, нет необходимости переходить на github. Вам просто нужно его использовать - добавьте эту строку в ваш .bashrc
:
source /etc/bash_completion.d/git
# or
source /usr/share/bash-completion/completions/git
В некоторых версиях Ubuntu автозаполнение git может быть нарушено по умолчанию, переустановка с помощью этой команды должна исправить это:
sudo apt-get install git-core bash-completion
На Mac
Вы можете установить git complete, используя Homebrew или MacPorts.
Homebrew
если $BASH_VERSION
> 4: brew install [email protected]
$BASH_VERSION
brew install [email protected]
(обновленная версия) Обратите особое внимание на то, какая у вас версия bash в качестве MacOS по умолчанию поставляется с 3.2.57 (1) -release.
добавить в .bash_profile
:
if [ -f /usr/local/share/bash-completion/bash_completion ]; then
. /usr/local/share/bash-completion/bash_completion
fi
Для более старых версий bash: brew install bash-completion
добавить в .bash_profile
:
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
MacPorts
sudo port install git +bash_completion
затем добавьте это в ваш .bash_profile
:
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
больше информации в этом руководстве: Установите Bash Git Завершение
Обратите внимание, что во всех случаях вам нужно создать новую оболочку (открыть новую вкладку/окно терминала), чтобы изменения вступили в силу.
Ответ 2
У меня была такая же проблема, как показано ниже:
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
источник: http://code-worrier.com/blog/autocomplete-git/
Ответ 3
Большинство инструкций, которые вы видите, скажут вам скачать
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
и источник, который в вашем скрипте запуска bash, как .bashrc
.
Но есть проблема с этим, потому что он ссылается на master
ветку, которая является последней версией git-completion.bash
. Проблема в том, что иногда он ломается, потому что он не совместим с версией git, которую вы установили.
На самом деле, сейчас это сломается, потому что в master
ветке git-completion.bash
creation.bash есть новые функции, для которых требуется git v2.18, до которого еще не обновили ни один из менеджеров пакетов и установщиков. Вы получите unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
ошибки 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.
Ответ 4
См. https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Вам просто нужно установить завершение script
Ответ 5
Ubuntu 14.10
Установите git-core
и bash-completion
sudo apt-get install -y git-core bash-completion
-
Для текущего использования сеанса
source /usr/share/bash-completion/completions/git
-
Чтобы он всегда включался для всех сеансов
echo "source /usr/share/bash-completion/completions/git" >> ~/.bashrc
Ответ 6
на моем ubuntu есть файл, установленный здесь:
source /etc/bash_completion.d/git-prompt
вы можете следить за ссылками в папку /usr/lib/git-core
. Вы можете найти там инструкцию, как настроить PS1 или использовать __git_ps1
Ответ 7
Может быть полезно кому-то: -
После загрузки .git-completion.bash из следующей ссылки
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
и пытаясь использовать функцию __git_ps1, я получал ошибку как...
-bash: __git_ps1: command not found
По-видимому, нам нужно загрузить скрипты отдельно от master, чтобы эта команда работала, поскольку __git_ps1 определен в git -prompt.sh. Аналогично загрузке .git-completion.bash, получите git -prompt.sh:
curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git
а затем добавьте следующее в свой .bash_profile
source ~/.bash_git
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
export PS1='\W$(__git_ps1 "[%s]")>'
fi
source ~/.bash.git выполнит загруженный файл и
Команда export PS1='\W$(__git_ps1 "[%s]")
добавит имя ветки выписки после текущего рабочего каталога (если это репозиторий git).
Итак, это будет выглядеть так: -
dir_Name[branch_name]
где dir_Name - это имя рабочего каталога, а имя_панель - имя ветки, в которой вы сейчас работаете.
Обратите внимание: __git_ps1 чувствителен к регистру.
Ответ 8
Просто сделайте это в вашем ~/.bashrc
:
source /usr/share/bash-completion/completions/git
Другие ответы говорят вам об установке bash-completion
, вам не нужно этого делать, но если вы это сделаете, то нет необходимости напрямую получать завершение. Вы делаете одно или другое, а не оба.
Более общим решением является запрос местоположения системы в соответствии с рекомендациями проекта завершения bash:
source "$(pkg-config --variable=completionsdir bash-completion)"/git
Ответ 9
Ubuntu
Здесь есть красивый ответ . Работал для меня на Ubuntu 16.04
Окна
Git Bash - это инструмент, позволяющий автозаполнение. Не уверен, что это часть стандартного дистрибутива, поэтому вы можете найти эту ссылку.
Кстати, Git Bash позволяет использовать команды оболочки Linux для работы с окнами, что отлично подходит для людей, имеющих опыт работы в среде GNU/Linux.
Ответ 10
В Github в проекте Git они предоставляют файл bash для автозаполнения Git команд.
Вы должны загрузить его в домашний каталог, и вы должны заставить bash запустить его. Это просто два шага и прекрасно объяснено (шаг за шагом) в следующем сообщении в блоге.
code-worrier blog: autocomplete- git/
Я тестировал его на mac, он также должен работать и на других системах. Вы можете применить такой же подход к другим операционным системам.