Подтвердить что ты не робот

Как настроить завершение командной строки git bash?

например. на новой машине ubuntu, я только что запустил sudo apt-get git, и там нет завершения при вводе, например. git check[tab].

Я ничего не нашел на http://git-scm.com/docs, но завершение IIRC включено в пакет git в эти дни, и мне просто нужно правильная запись в моем bashrc.

4b9b3361

Ответ 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.

Ответ 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, он также должен работать и на других системах. Вы можете применить такой же подход к другим операционным системам.