446 votes

Comment générer un journal avec la première ligne uniquement?

Je suis en train de personnaliser le format 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.
J'ai découvert qu' git log --pretty=short devrait faire l'affaire, mais sur mon ordinateur, il montre le journal est plein comme git log t (à côté de l'heure).

De plus, j'ai essayé d'utiliser les 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' ce qui montre le court-circuit de hachage %het le message intégral %s en une seule ligne.

Je suis l'aide d' 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.

711voto

Gauthier Points 6684

Avez-vous essayé?

git log --pretty=oneline --abbrev-commit

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.

208voto

9000 Points 13242

Est-ce que git log --oneline fait ce que vous voulez?

29voto

Vous pouvez définir un alias global pour pouvoir appeler un journal court de manière plus confortable:

git config --global alias.slog "log --pretty=oneline --abbrev-commit"

Ensuite, vous pouvez l'appeler en utilisant git slog (cela fonctionne même avec l'auto-complétion si vous l'avez activé).

-11voto

noisy Points 538

Si vous voulez toujours utiliser git log de cette manière, vous pouvez ajouter un alias git par

git config --global alias.log log --oneline

après cela, git log imprimera ce qui serait normalement imprimé par git log --oneline

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