Postępowałem zgodnie z procedurą opisanągit-completion
na https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-4e0beac0388a :
Pierwszym krokiem jest wykonanie tego polecenia w oknie terminala, jest to w zasadzie pobranie skryptu „git-complete.bash” i umieszczenie go w katalogu domowym.
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
Teraz dodaj tę linię do swojego ~ ~ .bash_profile. Umożliwi to wykonanie skryptu autouzupełniania git, jeśli jest obecny
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
Możesz teraz ponownie uruchomić wszystkie okna terminala lub po prostu odświeżyć okno terminala, w którym chcesz użyć tego skryptu. Aby odświeżyć:
source ~/.bash_profile
Oto błąd, który pojawia się podczas tab
naciskania klawisza po wpisaniu 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
Odpowiedzi:
Natrafiłem na dokładnie ten sam problem. Po kilku kopaniach w końcu zorientowałem się, na czym polega problem root.
Zrobili kilka istotnych zmian w
git-completion.bash
scenariuszu, który wymaga nowej funkcji w git v2.18,--list-cmds
. Problem polega na tym, że żaden z menedżerów pakietów nie zaktualizował się jeszcze do wersji git v2.18.Większość instrukcji mówi o pobraniu raw.githubusercontent.com/git/git/
master
/contrib/completion/git-completion.bash. Ale to niekoniecznie najlepsza opcja, ponieważ czasami będziesz pobierał nowszągit-completion.bash
wersję niż obsługuje git.Rozwiązaniem jest więc pobranie
git-completion.bash
wersji pasującej do twojej wersji git. Następnie zrób to ponownie. W tym przypadku:https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Zauważ, że odwołuje się
v2.17.1
zamiastmaster
. Później, gdy instalujesz git v2.18, możesz z powrotem przełączyć się namaster
lubv2.18
oznaczyć.źródło
git-completion.bash
wcześniej działało.Uaktualnienie gita do najnowszej wersji jest najprostszym rozwiązaniem. https://git-scm.com/download/mac
Następnie upewnij się, że postępujesz zgodnie z instrukcjami
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
Dodaj to małe polecenie do
.bash_profile
plikuif [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi
źródło
Nie buduj go ze źródła; zamiast tego zainstaluj z MacPorts .
Aby zainstalować git z automatycznym uzupełnianiem, wydaj następujące polecenie:
zamknij i ponownie otwórz terminal, a zakończenie git powinno działać
źródło
sudo find / -type -name "git-completion.bash"
i opublikuj wyniki na swoje pytanie.Powinieneś zweryfikować swoją wersję git i upewnić się, że jest zaktualizowana do co najmniej 1.8.
Miałem starszą wersję 1.7.11, ale to nie działało i otrzymywałem ten sam błąd, który masz.
źródło
git version 2.17.1
Jeśli używasz Homebrew, możesz chcieć
uaktualnij git:
brew upgrade git
źródło zainstalowanego git-complete.bash w
~/.bash_profile
:. /usr/local/etc/bash_completion.d/git-completion.bash
Dzięki temu zainstalowane wersje git i skryptów ukończenia są zgodne.
źródło