web-dev-qa-db-fra.com

Comment configurer l'auto-complétion pour les commandes Git?

J'ai Git (version 1.7.2.5) bêta compeletion travaillant sur mon squeeze Debian (6.0). Git a été installé avec aptitude et j'utilise la variable bash de Debian, qui prend en charge l'auto-complétion par ligne de commande.

Maintenant, je viens d'installer Git (1.5.6.5) sur une autre machine (Lenny/Debian 5.0) et il n'y a pas d'auto-complétion. 

  1. Pourquoi Git autocomplete ne fonctionne-t-il pas sur la deuxième machine? Comment puis-je diagnostiquer cela?

  2. Qu'est-ce qui rend le travail d'achèvement sur ma machine? J'ai cherché le fichier git-completion.bash mais il ne semble pas être sur ma machine. Comment Git Complete fonctionne-t-il?

  3. Comment puis-je amener git complete sur l'autre machine?

35
redochka

Vous devez source /etc/bash_completion.d/git pour activer la complétion automatique de git.

Dans mon .bashrc c'est fait avec:

for file in /etc/bash_completion.d/* ; do
    source "$file"
done
36
Piotr Praszmo

Mettez les lignes suivantes dans votre ~/.bashrc 

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

Le script/programme /etc/bash_completion inclut déjà les scripts dans /etc/bash_completion.d et définit également certaines fonctions nécessaires aux scripts inclus.

43
Rudger

Vous devez installer ce paquet s'il manque. Et puis déconnectez-vous et connectez-vous.

apt-get install bash-completion
12
Qi Luo

Le moyen le plus rapide d'activer l'auto-complétion bash pour Git sur Debian est d'ajouter

source /etc/bash_completion.d/git

au ~/.bashrc (et redémarrez le terminal).

Voir aussi ici: "Pro Git" -> 2.7 Bases de Git - Trucs et astuces -> Complétion automatique .

11
automatix

Utilisez Notepad ++ pour éditer votre fichier ~/.bashrc. Placez la ligne au bas du script avec un # au début de la ligne. Enregistrez le fichier. Par exemple: # source C:\cygwin64/etc/bash_completion.d/git

N'oubliez pas de mettre le chemin d'accès complet après "source" et devant "/ etc /". Par exemple, mon dossier cygwin64 qui contient le dossier "etc" se trouve dans mon lecteur c et mon chemin d'accès est c:\cygwin64/etc donc la ligne que j'ai incluse dans mon fichier bashrc est: 

# source c:\cygwin64/etc/bash_completion.d/git

Enregistrer le fichier bashrc. Ouvrez Cygwin Terminal ... Boom! Il est temps d'aller . J'ai ensuite entré la commande suivante et cela a fonctionné .git clone git:\/\/github.com/magnumripper/JohnTheRipper -b bleeding-jumbo JtR-Bleeding

0
FuzzyBird

Parfois, l'auto-complétion disparaît parce que vous avez accidentellement supprimé votre fichier ~/.bashrc. Vérifiez si le fichier bashrc se trouve dans votre répertoire personnel. Sinon, vous pouvez toujours le copier à partir de:

/etc/skel/.bashrc
0
hlosukwakha