我正在尝试自定义 git log
的格式 . 我希望所有提交都显示在一行中 . 每行应仅显示提交消息的第一行 .
我found out git log --pretty=short
应该做的伎俩,但在我的电脑上,它显示完整的日志 git log
(除了时间戳) .
此外,我试图使用placeholders as defined in the man page . 虽然,我找不到缩短日志消息的命令 . 我尝试了这一行 git log --pretty=format:'%h : %s'
,它在一行中显示了短路哈希 %h
和完整的消息 %s
.
我在Vista上使用 git version 1.7.3.1.msysgit.0
.
也许它与我编写提交消息的方式有关 . 这是一个例子:
Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.
因此,通过给出的示例,我只希望通过shortend哈希输出 Added some functionality.
.
7 回答
这将打印出没有哈希的消息(仅限主题行):
如果你想总是以这种方式使用
git log
,你可以添加git别名git config --global alias.log log --oneline
之后
git log
将打印通常由git log --oneline
打印的内容你试过这个吗?
问题可能是你在第一行之后缺少一个空行 . 上面的命令通常适用于我,但我刚刚在没有空第二行的提交上进行了测试 . 我得到了与你相同的结果:整条信息在一行上 .
空第二行是git commit消息中的标准 . 您看到的行为可能是故意实施的 .
提交消息的第一行是简短描述 . 如果你不能在一行中创建它,你可以使用几行,但是git会将第一个空行之前的所有内容都视为"short description" .
oneline
打印整个简短描述,所以你的所有3行 .git log --oneline
做你想要的吗?通过制作 alias Better 和 easier git日志 . 将下面的代码粘贴到终端只需一次会话 . 将代码粘贴到zshrc或bash配置文件以使其持久 .
Output
Output 改变了行
Further Reading.
https://coderwall.com/p/euwpig/a-better-git-log
Advanced Reading.
http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
您可以定义全局别名,以便以更舒适的方式调用短日志:
git config --global alias.slog "log --pretty=oneline --abbrev-commit"
然后你可以使用
git slog
来调用它(如果启用它,它甚至可以用于自动完成) .没有提交消息,只有哈希: