Errore di produzione .git-completamento.bash su macOS Sierra 10.12.6


40

Ho seguito il processo git-completionsecondo la descrizione fornita su https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-4e0beac0388a :

Il primo passo è eseguire questo comando nella finestra del terminale, questo in pratica sta prendendo lo script 'git-completamento.bash' e lo inserisce nella directory home.

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

Ora aggiungi questa riga al tuo '~ / .bash_profile'. Ciò consentirà l'esecuzione dello script di completamento automatico git se presente

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

È ora possibile riavviare tutte le finestre del terminale o semplicemente aggiornare la finestra del terminale in cui si desidera utilizzare questo script. Per aggiornare, fare:

source ~/.bash_profile

Di seguito è riportato l'errore che viene visualizzato mentre si preme il tabtasto dopo aver digitato 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>]

Quale versione di git stai usando yiuy e quale versione chiede bash_completion?
user151019,

git version 2.17.1
Rishi Kulshreshtha,

Sto ottenendo lo stesso su Mac e Ubuntu. versioni git 2.4.7 e 2.17.
Wisbucky,

Risposte:


55

Ho riscontrato lo stesso identico problema. Dopo alcuni scavi, ho finalmente capito qual è il problema alla radice.

Hanno fatto alcune importanti modifiche alla git-completion.bashsceneggiatura che richiede una nuova funzione di v2.18 git, --list-cmds. Il problema è che nessuno dei gestori di pacchetti ha ancora aggiornato a git v2.18.

La maggior parte delle istruzioni là fuori dice di scaricare raw.githubusercontent.com/git/git/ master/contrib/completion/git-completion.bash. Ma questa non è necessariamente l'opzione migliore perché a volte scaricherai una git-completion.bashversione più recente rispetto alla tua versione di git.

Quindi la soluzione è scaricare la git-completion.bashversione corrispondente alla tua versione git. Quindi fonte di nuovo. In questo caso:

https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash

Si noti che fa riferimento v2.17.1invece di master. Successivamente, quando installi git v2.18, puoi tornare a master, o v2.18tag.


2
Grazie mille !! Stavo cercando la soluzione simile, poiché ricordo git-completion.bashche prima funzionava.
Rishi Kulshreshtha,

2
Fan-bloody-tastic
bhu Boue vidya

Questo risolve il problema di versione di monitoraggio - stackoverflow.com/a/18898614/1874627
saurabheights

3

L'aggiornamento di git all'ultima versione è la soluzione più semplice. https://git-scm.com/download/mac

Quindi assicurati di seguire i passaggi

  1. curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

  2. Aggiungi questo piccolo comando nel .bash_profilefile if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi


2

Non costruirlo dalla fonte; invece installa da MacPorts .

Per installare git con il completamento automatico, emetti il ​​seguente comando:

 $ sudo port install git +bash_completion

chiudere e riaprire il Terminale e il completamento di git dovrebbe funzionare


Ho provato questo ma non ho risolto il problema. È sempre lo stesso.
Rishi Kulshreshtha,

Emetti questo comando: sudo find / -type -name "git-completion.bash"e pubblica i risultati sulla tua domanda.
Allan,

1

Dovresti verificare la tua versione di git e assicurarti che sia aggiornata ad almeno 1.8.

Avevo una versione precedente 1.7.11 ma non funzionava e ho avuto lo stesso errore che hai.


git version 2.17.1
Rishi Kulshreshtha,

0

Se usi Homebrew, potresti volerlo

  1. aggiorna git:

    brew upgrade git

  2. trova il file git-completamento.bash installato nel tuo ~/.bash_profile:

    . /usr/local/etc/bash_completion.d/git-completion.bash

Questo assicura che le versioni installate di git e script di completamento corrispondano.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.