Lorsque vous utilisez git d'OSX, après avoir modifié un fichier, je peux simplement le faire git commit <tab>
, et cela complétera automatiquement le nom du fichier en celui qui a été modifié. Cependant, si j'installe une version plus récente de git à partir de homebrew et que je l'utilise, cette fonctionnalité ne fonctionne plus (c'est-à-dire que j'appuie <tab>
et qu'elle me "demande" simplement sur quel fichier je veux le faire, même en incluant ceux qui n'ont pas changé ).
Quelqu'un peut-il expliquer pourquoi et comment résoudre ce problème? Je préfère utiliser git de homebrew, car il est plus à jour.
Mon shell est zsh, et ne s'installe bash-completion
ni ne zsh-completions
fonctionne (même après avoir suivi les instructions de post-installation de homebrew).
De plus, après avoir installé git avec homebrew, il est dit
Bash completion has been installed to: /usr/local/etc/bash_completion.d
zsh completion has been installed to: /usr/local/share/zsh/site-functions
Alors ne devrais-je pas pouvoir en utiliser un?
la source
zsh
etgit
utilisez-vous?git
complétions fonctionnent-elles (git co<TAB>
==>git commit
, par exemple)?zsh-completions
ne pas être satisfait du mac git, même si cela fonctionnait bien avant (peut-être mis à jour aveuglément à 0.17.x).Réponses:
Vous cherchez:
Comme l'indique le commentaire de warpc, vous devrez ajouter ce qui suit à votre
~/.bash_profile
pour que la complétion bash de homebrew fonctionne:Ce qui précède est mentionné dans les mises en garde lorsque vous installez la formule de complétion bash.
Remarque: si vous utilisez Bash v4 ou une version ultérieure (via
brew install bash
), vous souhaiterez l'utiliser.Pourbrew install bash-completion@2
activer la complétion des onglets, ajoutez les éléments suivants~/.bash_profile
comme décrit dans les mises en garde:L'exportation supplémentaire est nécessaire pour git, docker, youtube-dl et d'autres complétions qui peuvent être incluses dans le
$(brew --prefix)/etc/bash_completion.d/
répertoire.la source
brew install git zsh-completions
? De plus, après l'installation de git avec homebrew, il est ditBash completion has been installed to: /usr/local/etc/bash_completion.d zsh completion has been installed to: /usr/local/share/zsh/site-functions
, alors ne pourrais-je pas en utiliser un?bash-completion
nizsh-completions
fonctionné (même après avoir suivi les instructions de homebrew après l'installation).La complétion de l'onglet git de ce get fonctionne sous OSX sans avoir à redémarrer votre terminal:
la source
&&
. Tout script bash pourrait être un one-liner comme ça.brew install
méthode. Simplement parce que ça marche.Au cas où quelqu'un d'autre ferait mon erreur stupide, essayez
brew install git
. J'utilisais legit
qui est livré avec Xcode et je ne savais pas que je n'avais jamais installé git de Homebrew pour obtenir les autocomplétions.la source
pour une raison quelconque, le fichier me manquait,
$(brew --prefix)/etc/bash_completion
donc la réponse correcte de @Graham Perks n'a pas fonctionné pour moiCela a fini par résoudre le problème dans mon cas:
la source
J'ai résolu le problème en découvrant que
$(brew --prefix)/etc/bash_completion
renvoyéPermission denied
lors de l'exécution. Donc après un simple:Tout fonctionne maintenant correctement. Je me demande cependant pourquoi Homebrew ne rend pas le
bash_completion
fichier exécutable lors de l'installation.la source
bash_completion
est censé êtresource
'd donc les définitions sont dans votre shell; l'exécution n'aura aucun effet.J'ai trouvé une solution de travail. C'est très récent (créé il y a 16 heures et commis il y a 2 heures), et il provient directement de l'homebrew .
brew install git --without-completions
Je viens de l'essayer, et cela fonctionne finalement comme prévu.
la source
git
sans achèvement pourrait améliorer la situation de l'achèvement qui ne fonctionne pas. Je crois que la réponse de Graham Perks stackoverflow.com/a/14970926/1199564 devrait être signalée comme la bonne réponse.git --without-completions
et le sourcing dubash-completion.bash
fichier à partir de.bash_profile
ce qui est probablement remplacé en suivant la procédure standard.brew install git
tout a été corrigé (pas besoin de --without-complétions). Je pense que c'est aussi une bonne réponse.J'ai eu le même problème et j'ai même trouvé ce post ce matin. J'ai résolu le problème en mettant à jour brew avec
brew update
, puis en réinstallant git avecbrew reinstall git
.J'ai ensuite été informé d'un autre fichier qui bloque le processus de liaison homebrew, dans mon cas, c'était le cas
/usr/local/share/zsh/site-functions/git-completion.bash
. La suppression du fichier et l'exécution ontbrew link git
résolu le problème. Je suppose que c'était juste une mauvaise version de recette sur laquelle nous sommes tombés par hasard.la source
git --version
brew reinstall git
et aussibrew reinstall bash-completion
le faire fonctionner à nouveau.Si vous avez
$BASH_VERSION
<4.1, par exemple,3.2.57(1)-release
continuez avec:Cependant, si vous devez
brew install bash
obtenir la version,4.4.12(1)-release
vous pouvez utiliser les complétions meilleures et plus complètes dans:Notez que certains packages (brew, docker, tmux) mettront toujours des complétions dans
$(brew --prefix)/etc/bash_completion.d/
, vous pouvez donc ajouter:Enfin, vous devriez pouvoir ajouter le script de complétion git si, pour une raison quelconque, la façon dont vous avez installé git ne l'ajoute à aucun de ces éléments:
Vous pouvez l'obtenir et l'ajouter avec ce qui précède.
la source
Étape 1: Téléchargez le script de saisie semi-automatique:
Étape 2: Mettez à jour .bash_profile et .bashrc
Via https://www.anintegratedworld.com/git-tab-autocomplete-on-osx-10-11-el-capitan/
Si ci-dessus ne fonctionne pas, essayez https://github.com/bobthecow/git-flow-completion/wiki/Install-Bash-git-completion
la source
Pour moi, je devais mettre
dans
.bashrc
(pas .bash_profile) pour que cela fonctionne.".bash_profile est exécuté pour les shells de connexion, tandis que .bashrc est exécuté pour les shells interactifs sans connexion" - from Quelle est la différence entre .bash_profile et .bashrc? Il me semble que MacOS Sierra ne s'exécute pas
.bash_profile
lors de l'ouverture d'une nouvelle fenêtre de terminal, uniquement.bashrc
.Je ne le mettrais pas dans _bash_profile, car alors je devrais redémarrer / déconnecter pour que les mises à jour prennent effet.
la source
Cela a fonctionné pour moi dans Mojave (OSX 10.14.1):
Ajoutez ensuite la ligne suivante à votre ~ / .bash_profile:
la source
En 2019, en utilisant Bash v5, vous n'avez pas besoin de source explicitement le script de complétion git bash dans votre
.bash_profile
ou.bashrc
.bashrc
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
) et enregistrez-le/usr/local/etc/bash_completion.d/
sousgit
C'est tout! Bash récupérera automatiquement le fichier de complétion git et activera la complétion.
Note latérale: Je recommande de mettre tous ces changements
.bashrc
car cela garantit que lorsque vous déposez dans un shell interactif (c'est-à-dire à partir depipenv shell
), les complétions seront chargées correctement car bash sera source.bashrc
et NON.bash_profile
.la source
Cela peut avoir quelque chose à voir avec l'utilisation de libedit au lieu de readline dans Lion.
Essayez d'installer readline avant git.
la source
Pour ceux qui ont déjà installé le système de fin de brassage. Je n'avais pas installé le script de complétion git et je n'ai trouvé aucun robinet pour cela.
Alors je l'ai ajouté manuellement:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o $(brew --prefix)/etc/bash_completion.d/git
Notez que vous devez renommer le fichier et supprimer l'extension pour qu'il fonctionne.
Si vous n'avez pas complètement installé ou git, installez-le dans la réponse acceptée.
brew install git bash-completion
la source
Si vous avez utilisé homebrew pour installer git, il n'est probablement pas nécessaire d'installer quoi que ce soit pour prendre en charge l'achèvement de git. Le fichier "git-completion.bash" est quelque part (le mien était ici: /usr/local/git/contrib/completion/git-completion.bash)
Tout ce que vous avez à faire est de trouver le fichier: sudo find / -type f -name "git-completion.bash"
Puis source son chemin dans votre .bash_profile. Par exemple, j'avais besoin d'ajouter cette ligne à mon ~ / .bash_profile:
N'oubliez pas de rechercher votre ~ / .bash_profile ou de rouvrir votre terminal;)
à partir de: how-enable-git-tab-completion-bash-mac-os-x
la source
Je sais que c'est un ancien message, mais vous n'avez pas vraiment besoin d'installer de packages supplémentaires.
Homebrew vous informe qu'il existe un répertoire avec tout ce dont vous avez besoin.
Vous pouvez simplement ajouter la ligne suivante à votre
.bash_profile
si vous utilisez Bash:la source
Activer la complétion automatique des commandes GIT sur MAC-OS Mojave 10.14 Je suis développeur et j'utilise GIT à partir de la ligne de commande tout le temps. Quand je considère la perspective de développement, j'exécutais beaucoup de commandes en utilisant la ligne de commande pour les opérations GIT. La plupart du temps, il est très ennuyeux que MAC OS n'ait pas de support automatique pour la complétion de commande que je supporte partiellement. ainsi que les suggestions de commandes, ce qui signifie quelles sont les commandes disponibles pour les caractères tapés. Il est donc très difficile de taper une commande très longue et une tâche principalement répétitive car une faute de frappe se produit. :(
La complétion des onglets serait certainement plus rapide et plus facile. Malheureusement, l'installation par défaut de git sur certains ordinateurs Mac n'a pas activé la complétion des onglets.
Alors que je cherchais une solution au problème et qu'il existe plusieurs solutions trouvées à partir de la recherche Web, telles que StackOverflow, GitHub ainsi que du support. Malheureusement, ces solutions n'ont pas fonctionné pour moi et j'ai été frustré d'essayer différentes solutions tant de fois.
Je cherchais profondément et essayais différentes solutions et heureusement, c'est une solution facile. Vous trouverez ci-dessous les étapes que j'ai collectées à partir de plusieurs articles et finalement cela a fonctionné comme prévu. J'espère donc partager avec d'autres qui ont ce problème comme moi.
Si vous accédez à la recherche sur le Web, vous pouvez trouver de nombreuses solutions qui mentionnent le fichier git completion bash. Même guide GitHub aussi. Mais je vous suggère de vérifier d'abord si le fichier git-completion.bash est déjà dans votre ordinateur MAC avec le git-core ou autre chose qui provient de l'installation. vous pouvez utiliser la commande ci-dessous.
vous obtiendrez les résultats ci-dessous. (peut avoir une certaine différence selon le contenu)
Je vous suggère de choisir lequel installé à partir de git-core
Si le script git-completion.bash n'existe pas sur votre machine, veuillez le récupérer à partir du fichier ci-dessous fourni ci-dessus et l'enregistrer sur votre machine locale dans un nouveau fichier appelé git-completion.bash dans le répertoire / usr / local / etc / répertoire bash_completion.d /.
https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks
Si vous utilisez le shell Bash, Git est livré avec un joli script d'auto-complétion que vous pouvez activer. Téléchargez-le directement à partir du code source Git sur
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Si le script git-completion.bash existe sur votre machine, mais ne se trouve pas dans le répertoire /usr/local/etc/bash_completion.d/, vous devez créer ce répertoire et y copier le fichier. La commande ci-dessous fera le travail:
Après l'achèvement de ci-dessus. Le script git-completion.bash doit exister sur votre machine locale dans le répertoire / usr / local / etc / bash_completion.d /.
Vous devez maintenant actualiser votre profil en utilisant la commande ci-dessous. Il chargera votre fichier bash ajouté dans le contexte du terminal.
Génial!!! vous l'avez fait. Démarrez simplement la fenêtre du terminal et essayez-le. Tapez simplement "git sta", il affichera les suggestions ci-dessous:
voir mon post GitHub ici:
https://github.com/DIL8654/Enable-Auto-Completion-of-GIT-commads-on-MAC-OS-Mojave
Voir mon article Medium ici:
https://medium.com/@dilanka85/enable-auto-completion-of-git-commands-on-mac-os-mojave-10-14
la source