61 votes

Est-il possible de remplacer une commande git par un alias git ?

Mon ~/.gitconfig est :

[alias]
        commit = "!sh commit.sh"

Cependant, lorsque je tape git commit , script n'est pas appelé.

Est-ce possible, ou dois-je utiliser un autre nom d'alias ?

2 votes

La réponse de mathepic est tout à fait correcte. Bien sûr, je pense que c'est une question qui n'a pas lieu d'être. Tant qu'à faire un alias, pourquoi ne pas raccourcir la commande ? Alias co à !sh checkout.sh afin que vous n'ayez pas à tout taper (ou même à le compléter par tabulation).

0 votes

C'est regrettable. J'aurais également aimé que cette fonctionnalité remplace le comportement par défaut de "git log" par un format en ligne. Je sais qu'on peut utiliser d'autres alias mais tant que celui par défaut existe, l'habitude fait qu'on l'utilise et qu'on n'apprend jamais la commande de remplacement :(

1voto

Cimbali Points 685

Voici une autre solution de contournement, qui ne repose pas sur l'utilisation de la fonction en fait en surchargeant quoi que ce soit, mais repose sur l'utilisation abusive de l'autocomplétion au lieu de cela. Cela semble moins dangereux et plus transparent que d'utiliser git.

Comme je ne tape jamais les noms complets des commandes, il suffit de définir un alias qui est un préfixe de la commande à remplacer.

Par exemple, pour remplacer git show-branch avec un alias, et sachant que j'ai l'habitude de taper git show-<Tab> Je définis le show-br pour personnaliser l'alias show-branch comportement.

Pour l'exemple de l'OP git commit Je tape généralement git com<Tab> donc git comm serait une solution correcte.

Cette stratégie présente plusieurs avantages :

  • Il est clair que vous n'appelez pas la commande "vanilla".
  • Si votre préfixe est suffisamment long :
    • Il ne modifie pas votre flux de travail
    • Le commandement que vous subvertissez est clair
  • La commande originale est toujours facilement accessible

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X