Lorsqu'il est git commit
ouvert, l'éditeur de message affiche un bref statut, quelque chose comme ceci:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 26 commits.
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: Showcase/src/com/gigantt/BorderArea.mxml
# modified: Showcase/src/com/gigantt/Client.mxml
# modified: Showcase/src/com/gigantt/GraphItem.mxml
#
Comment puis-je modifier git pour afficher également le diff à valider? Je suis conscient que cela peut être une longue différence, mais quand même ... si utile.
git diff --cached
produit, mais pourquoi exécuter une commande distincte si vous le souhaitez à chaque fois?Réponses:
L' indicateur
--verbose
(ou-v
) pourgit commit
affichera la différence de ce qui serait validé:git commit --verbose
la source
Pas assez de réputation pour poster une réponse à la réponse d'Alan, mais pour Idan et n'importe qui d'autre, je viens de l'essayer et les lignes de diff dans le message de validation ne sont pas explicitement commentées. Cependant, ils n'apparaissent toujours pas dans le message final de validation, Dieu merci.
$ git commit --verbose
Dans mon éditeur:
(notez le manque de
#
précéder les lignes de diff)Et puis le message de validation réel:
Évidemment,
git show
affichera toujours le diff, mais c'est parce qu'il le fait toujours pour les commits. :)la source
# ------------------------ >8 ------------------------
- Je suppose que git supprime automatiquement tout ce qui apparaît après.git config --global commit.verbose true
Le moyen le plus simple de vous assurer que ce comportement est toujours présent est d'ajouter cette section à votre
git config
fichier:Vous devrez peut-être configurer votre éditeur pour qu'il s'affiche réellement en mode diff (pour la coloration syntaxique). J'utilise Notepad2 comme remplacement du Bloc-notes Windows et
-s diff
définit le jeu de couleurs de manière appropriée (rouge pour les lignes supprimées, etc.):la source
J'ai mis les lignes suivantes dans .git / hooks / prepare-commit-msg pour obtenir un diff commenté:
De cette façon, vous pouvez non seulement commenter le diff, mais aussi ajouter plus d'informations (comme le fait l' option stat ).
Edit: De plus, git commit --verbose n'inclut pas le diff dans le message de commit de cette façon le ferait sans les #.
la source
# ------------------------ >8 ------------------------
vous pouvez trouver plus de git-scm.com/docs/git-commit#git-commit-scissorsSi vous souhaitez toujours voir la différence lorsque vous vous engagez, vous pouvez ajouter ce qui suit à votre
~/.gitconfig
fichier:la source
git config --global alias.commit 'commit -v'
et l'alias a été ajouté comme vous l'avez suggéré - simplement automatiquement. J'ai créé un autre alias nommécv
qui fonctionne comme prévu. Ma version git est 2.5.0 telle qu'elle est emballée dans Ubuntu 15.10.git config --global commit.verbose true