La façon de sortie de la commande git log avec la première ligne?
Je suis en train de personnaliser le format de git log
. Je veux que tous s'engage à être affiché sur une seule ligne. Chaque ligne doit afficher uniquement la première ligne du message de commit.
Je trouvé que git log --pretty=short
devrait faire l'affaire, mais sur mon ordinateur, il affiche le log complet que git log
n' (à côté de l'heure).
De plus, j'ai essayé d'utiliser le des espaces réservés tel que défini dans la page de man. Cependant, je ne pouvais pas trouver une commande pour raccourcir le message de journal. J'ai essayé cette ligne git log --pretty=format:'%h : %s'
qui montre le court-circuit de hachage %h
et le message complet %s
dans une ligne.
Je suis en utilisant git version 1.7.3.1.msysgit.0
sur Vista.
Peut-être qu'il a quelque chose à voir avec la façon dont j'écris mes messages de commit. Voici un exemple:
Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.
Ainsi, avec l'exemple donné, je veux seulement être sortie Added some functionality.
préfixé par le shortend de hachage.
%s
est le sujet, non pas le message en entier.- Il est vraiment difficile de dire ce que vous voulez vraiment. Le
short
format n'est pas le tout sur une seule ligne, bien que (surprise!)oneline
est. Sioneline
et%h : %s
ne sont pas ce que vous voulez, ce qui ne va pas avec eux? En particulier,%s
est le sujet, la première ligne du message de commit. Qui devrait en effet être une version raccourcie. Est-il possible que vous avez été faire des commits avec une seule longue ligne pour le message, et à leur visualisation d'une certaine manière avec retour automatique à la ligne? - Vous êtes tout à fait comprendre. Le problème est que
oneline
et%s
ne sont pas de sortie ce que nous attendons, au moins sur mon ordinateur. J'ai mis à jour mon post avec un exemple de mon message de commit. Peut-être que ça aide.
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé ceci?
Le problème est probablement que vous êtes absent une ligne vide après la première ligne. La commande ci-dessus fonctionne habituellement pour moi, mais je viens de tester sur un commit sans vide seconde ligne. J'ai obtenu le même résultat que toi: le message entier sur une seule ligne.
Vide seconde ligne est un standard dans git commit des messages. Le comportement que vous voyez a probablement été mis en œuvre sur le but.
La première ligne d'un message de commit est censé être une courte description. Si vous ne pouvez pas le faire en une seule ligne, vous pouvez utiliser plusieurs, mais git considère tout avant la première ligne vide à la "description courte".
oneline
impressions de l'ensemble de la description courte, de sorte que tous vos 3 lignes.git log
pour un filtrage du script, mais je veux vraiment défendre l'écriture d'une courte description avec ligne vide.git log --oneline
--oneline est intégré dans un raccourci pour "--pretty=oneline --abbrev-commit" utilisés ensemble.cut
. Que seraitawk
de la paroisse... (BTW mathématiques Q: quelle est la probabilité que le bit suivant dans un encodés correctement huffman séquence, au niveau du stockage, est allumé ou éteint? Indice: = = = 50%.)git log --pretty=format:'s'
%
pour'%s'
. C-;Ne
git log --oneline
faire ce que vous voulez?Mieux et plus facile git log en faisant un alias. Coller le code ci-dessous à la borne, juste une fois, pour une seule session. Collez le code pour zshrc ou bash profil pour le rendre persistant.
Sortie
Sortie les lignes modifiées
Lecture.
https://coderwall.com/p/euwpig/a-better-git-log
Avancées De Lecture.
http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
Vous pouvez définir une alias de sorte que vous pouvez invoquer un court journal d'une manière plus confortable:
git config --global alias.slog "log --pretty=oneline --abbrev-commit"
Ensuite, vous pouvez l'appeler à l'aide
git slog
(il fonctionne même avec l'autocomplétion si vous l'avez activé).Cela permettra d'imprimer simplement le message (objet uniquement) sans hash:
Sans messages de commit, seul le hachage:
git log --pretty=format:"%H"
git rev-list HEAD
.si vous souhaitez toujours utiliser
git log
dans une telle manière que vous pourriez ajouter des alias git pargit config --global alias.log log --oneline
après que
git log
imprime ce qui normalement seraient imprimées pargit log --oneline
"log --oneline"
).