Par exemple, sur une nouvelle machine ubuntu, je viens de lancer sudo apt-get git
, et il n'y a pas de complétion lors de la saisie, par exemple git check[tab]
.
Je n'ai rien trouvé sur http://git-scm.com/docs , mais l'achèvement IIRC est inclus dans le paquet git ces jours-ci et j'ai juste besoin de la bonne entrée dans mon bashrc.
(cd ~ && exec cat .bashrc | grep completion)
.Réponses:
Sous Linux
sur la plupart des distributions, le script de complétion git est installé dans
/etc/bash_completion.d/
(ou/usr/share/bash-completion/completions/git
) lorsque vous installez git, pas besoin d'aller sur github. Il vous suffit de l'utiliser - ajoutez cette ligne à votre.bashrc
:Dans certaines versions d'Ubuntu, la saisie semi-automatique de git peut être interrompue par défaut, la réinstallation en exécutant cette commande devrait résoudre le problème:
Sur Mac
Vous pouvez installer la complétion git en utilisant Homebrew ou MacPorts.
Homebrew
if
$BASH_VERSION
> 4:brew install bash-completion@2
(version mise à jour) Faites particulièrement attention à la version de bash que vous avez par défaut pour MacOS avec la version 3.2.57 (1).ajouter à
.bash_profile
:Pour les anciennes versions de bash:
brew install bash-completion
ajouter à
.bash_profile
:MacPorts
sudo port install git +bash_completion
puis ajoutez ceci à votre
.bash_profile
:plus d'informations dans ce guide: Installer l'achèvement de Bash git
Notez que dans tous les cas, vous devez créer un nouveau shell (ouvrir un nouvel onglet / fenêtre de terminal) pour que les modifications prennent effet.
la source
/usr/share/bash-completion/completions/git
./etc/bash_completion.d/git-prompt
est utilisé pour le support de l'invite git, pas pour la complétion.brew uninstall bash-completion
puisbrew install git
si vous aviez installé git via une autre méthode auparavant, les étapes ci-dessus fonctionneront.J'ai eu le même problème, suivi des étapes ci-dessous:
puis ajoutez les lignes suivantes à votre
.bash_profile
(généralement sous votre dossier de départ)source: http://code-worrier.com/blog/autocomplete-git/
la source
export https_proxy=proxy_ip:proxy_port
ne comprends pas vraiment pourquoi il n'obtient pas les paramètres du système.La plupart des instructions que vous voyez vous indiqueront de télécharger
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
et source cela dans votre script de démarrage bash comme
.bashrc
.Mais cela pose un problème, car il fait référence à la
master
branche, qui est la dernière version degit-completion.bash
. Le problème est que parfois il se cassera car il n'est pas compatible avec la version de git que vous avez installée.En fait, pour le moment, cela va casser car la
master
branchegit-completion.bash
a de nouvelles fonctionnalités qui nécessitent git v2.18, qu'aucun des gestionnaires de paquets et des installateurs n'a encore mis à jour. Vous obtiendrez une erreurunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
La solution la plus sûre est donc de référencer la version / balise qui correspond au git que vous avez installé. Par exemple:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Notez qu'il a un
v2.17.
dans l'URL au lieu demaster
. Et puis, bien sûr, assurez-vous de trouver cela dans le script de démarrage bash.la source
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
Juste pour être sûr, je l'ai différent de la version 2.17.1 sur github et cela correspond.Ubuntu 14.10
Installer
git-core
etbash-completion
Pour l'utilisation de la session actuelle
Pour l'avoir toujours allumé pour toutes les sessions
la source
Voir https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Il vous suffit de vous procurer le script d'achèvement
la source
Faites-le simplement dans votre
~/.bashrc
:D'autres réponses vous disent d'installer
bash-completion
, vous n'avez pas besoin de le faire, mais si vous le faites, il n'est pas nécessaire de rechercher directement l'achèvement. Vous faites l'un ou l'autre, pas les deux.Une solution plus générique consiste à interroger l'emplacement du système comme recommandé par le projet bash-completion:
la source
sur mon ubuntu il y a un fichier installé ici:
vous pouvez suivre les liens dans le
/usr/lib/git-core
dossier. Vous pouvez y trouver une instruction, comment configurer PS1 ou utiliser__git_ps1
la source
Peut être utile pour quelqu'un: -
Après avoir téléchargé le .git-completion.bash à partir du lien suivant,
et en essayant d'utiliser la fonction __git_ps1, j'obtenais une erreur comme--
Apparemment, nous devons télécharger les scripts séparément de master pour que cette commande fonctionne, car __git_ps1 est défini dans git-prompt.sh. Donc, comme pour télécharger .git-completion.bash, récupérez le git-prompt.sh:
puis ajoutez ce qui suit dans votre .bash_profile
source ~ / .bash.git exécutera le fichier téléchargé et
export PS1='\W$(__git_ps1 "[%s]")
La commande ajoutera le nom de la branche d'extraction après le répertoire de travail actuel (s'il s'agit d'un référentiel git).Cela ressemblera donc à: -
dir_Name[branch_name]
où dir_Name est le nom du répertoire de travail et branch_name sera le nom de la branche sur laquelle vous travaillez actuellement.Remarque: __git_ps1 est sensible à la casse.
la source
Arch Linux
Source
/usr/share/git/completion/git-completion.bash
dans l'un des fichiers de démarrage bash.Par exemple:
Vous pourrez peut-être trouver le script dans d'autres endroits comme,
/usr/share/bash-completion/completions/git
mais ces scripts n'ont pas fonctionné pour moi.la source
Ubuntu
Il y a une belle réponse ici . A travaillé pour moi sur Ubuntu 16.04
les fenêtres
Git Bash est l'outil pour permettre l'auto-complétion. Je ne sais pas si cela fait partie de la distribution standard, vous pouvez donc trouver ce lien également utile. En passant, Git Bash permet d'utiliser les commandes shell Linux pour travailler sur Windows, ce qui est une excellente chose pour les personnes qui ont de l'expérience dans l'environnement GNU / Linux.
la source
Sur Github dans le projet Git, ils fournissent un fichier bash pour compléter automatiquement les commandes git.
Vous devez le télécharger dans le répertoire personnel et vous devez forcer bash à l'exécuter. Il s'agit simplement de deux étapes et parfaitement expliqué (étape par étape) dans le billet de blog suivant.
blog code-worrier: autocomplete-git /
Je l'ai testé sur mac, il devrait également fonctionner sur d'autres systèmes. Vous pouvez appliquer la même approche à d'autres systèmes d'exploitation.
la source