`git commit -v` par défaut

Comment puis-je configurer git commit pour agir en tant que git commit -v (montrant le diff complet en cours de git commit -v ) par défaut?

L’utilisation d’un alias n’est pas tout à fait satisfaisante, car cela n’affecte pas la modification des messages de validation lors d’opérations pouvant être indirectement git rebase , telles que le git rebase .

Si vous utilisez git 2.9, cela peut être fait avec une configuration.

 git config --global commit.verbose true 

Notes de version de Git 2.9.0: https://github.com/git/git/blob/v2.9.0/Documentation/RelNotes/2.9.0.txt

“git commit” a appris à faire attention à la variable de configuration “commit.verbose” et à agir comme si l’option “–verbose” était donnée depuis la ligne de commande.

Autant que je sache, vous ne pouvez pas écraser une commande git existante avec un alias (sinon, il n’y aurait aucun moyen de faire la commande d’origine, et un tas de choses seraient cassées).

Je vous recommande donc de faire quelque chose comme git config --global "alias.ci" "commit -v" . Cela va append une ligne à votre fichier ~/.gitconfig et faire en sorte que git ci fasse git commit -v . Vous devriez alors prendre l’habitude de taper git ci au lieu de git commit (à moins que vous ne décidiez de ne pas utiliser -v ).

Eh bien, j’utilise des alias:

 alias gc='git commit -v' 

Il y a un tas de jolis alias comme celui-ci que je suis sorti du PeepCode git screencasts, je crois.

Je sais que c’est une vieille question, mais il m’est arrivé de la rencontrer et d’y répondre. J’ai mis la fonction suivante dans .bash_profile:

 #!/bin/bash git() { case "$1" in ci|commit) gitargs="" for i in $@; do if [ "$1" != "$i" ]; then gitargs="$gitargs $i" fi done command git commit -v $gitargs ;; *) command git "$@" ;; esac } 

Cela transforme git en une fonction bash qui transforme git commit en git commit -v et laisse le rest des arguments seul. Cependant, il rompt les arguments de git commit qui ont des espaces, et il ne vous laissera pas commettre un fichier nommé ci ou commit .

Je viens d’envoyer un courriel à [email protected] et j’ai reçu la réponse suivante:

05.04.2016 16:47, Pranit Bauva: Le mardi 5 avril 2016 à 20h08, Jacek Wielemborek a écrit:

Bonjour,

Je demande celui-ci car il y a beaucoup d’intérêt (y compris moi) dans cette fonctionnalité et il n’y a pas de walkaround pratique:

`git commit -v` par défaut

Cheers, d33tah

Ceci est actuellement en cours. Je suis celui qui y travaille. Un des correctifs est actuellement sur la twig pu. Je le peaufine encore pour inclure d’autres choses. Vous pouvez suivre son statut en lisant les messages git.git par le responsable git. La dernière révision du correctif est à l’ adresse http://thread.gmane.org/gmane.comp.version-control.git/288820.

Merci Pranit Bauva

Solution de contournement idiote :!git log -1 -u

Le suivant placé dans .bashrc / .profile semble faire le travail:

 git() { if [[ "$1" = "commit" ]]; then shift command git commit -v "$@" else command git "$@" fi }