我试图自定义格式的git日志。我希望所有提交都显示在一行中。每一行应该只显示提交消息的第一行。 我发现git日志——pretty=short应该做的把戏,但在我的电脑上,它显示完整的日志,因为git日志(除了时间戳)。

此外,我尝试使用手册页中定义的占位符。但是,我找不到缩短日志消息的命令。我尝试了这行git log——pretty=format:'%h: %s',它在一行中显示了短散列%hand完整的消息%s。

我使用的是git版本1.7.3.1.msysgit。Vista上0。


也许这与我编写提交消息的方式有关。这里有一个例子:

Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.

所以,有了这个例子,我只想输出一些功能。以较短的散列作为前置。


当前回答

你可以定义一个全局别名,这样你就可以以一种更舒服的方式调用一个短日志:

Git配置——全局别名。log——pretty=oneline——abbrev-commit"

然后你可以使用git log调用它(如果你启用了它,它甚至可以自动完成)。

其他回答

如果你只想要消息的第一行(主题):

git log --pretty=format:"%s"

如果你想让这个分支上的所有消息返回到master:

git log --pretty=format:"%s" master..HEAD

最后但并非最不重要的是,如果你想添加一些小项目以快速降价发行说明:

git log --pretty=format:"- %s" master..HEAD

git log——oneline能做到你想要的吗?

如果您只想打印commit-id和commit message

Git日志——pretty=format:"%h %s"

%h是hash_id的简写%s是subjectName[message_name]的简写



可以在commit-id和message后面显示日期。

git——漂亮=格式:“%h %s %C(黄色)(%cr)”

%C是颜色的简写,我想用不同的颜色显示日期,例如(红,绿,蓝,黄,等等)。

cr是提交日期的缩写,相对而言


或者你可以使用这个命令打印hash_id和提交消息中的第一个单词:

Git日志——oneline | awk '{打印$1 " " $2}'

Or

git 日志 --oneline

如果你想一直这样使用git日志,你可以添加git别名by

Git配置——全局别名。log日志——一行

在此之后,git log将打印通常由git log打印的内容——online

没有提交消息,只有哈希:

git log --pretty=oneline | awk '{print $1}'