我如何用(至少)这些信息显示git日志输出:

* author
* commit date
* change

我想把它压缩到每个日志条目一行。最短的格式是什么?

(try——format=oneline,但不显示日期)


当前回答

试试git log——pretty=fuller,它会告诉你:- 作者: 作者日期: 提交: 提交日期:

希望这能有所帮助。

其他回答

git log --pretty=format:"%H %an %ad"

使用——date=设置日期格式

git log --pretty=format:"%H %an %ad" --date=short

如果你想指定一个文件或文件夹,只需在最后添加路径:

%ad =作者日期(格式尊重——date=option) ——date=raw显示从epoch (1970-01-01 00:00:00 UTC)开始的秒数,后面是一个空格,然后是时区,作为UTC Reference的偏移量

git log -1 --pretty=format:"%ad" --date=raw path/to/your/folder

前面提到的所有建议都使用%s占位符作为主题。我建议使用%B,因为%s格式保留新行,多行提交消息显示被压扁。

git log --pretty=format:"%h%x09%an%x09%ai%x09%B"
git log --pretty=format:"%h%x09%an%x09%ad%x09%s"

完成任务。这个输出:

  fbc3503 mads    Thu Dec 4 07:43:27 2008 +0000   show mobile if phone is null...   
  ec36490 jesper  Wed Nov 26 05:41:37 2008 +0000  Cleanup after [942]: Using timezon
  ae62afd tobias  Tue Nov 25 21:42:55 2008 +0000  Fixed #67 by adding time zone supp
  164be7e mads    Tue Nov 25 19:56:43 2008 +0000  fixed tests, and a 'unending appoi
  93f1526 jesper  Tue Nov 25 09:45:56 2008 +0000  adding time.ZONE.now as time zone 
  2f0f8c1 tobias  Tue Nov 25 03:07:02 2008 +0000  Timezone configured in environment
  a33c1dc jesper  Tue Nov 25 01:26:18 2008 +0000  updated to most recent will_pagina
                                                                              

受到stackoverflow问题的启发:“git log output like svn ls -v”,我发现我可以添加我需要的确切参数。

要缩短日期(不显示时间),使用——date=short

如果你好奇有哪些不同的选择: %h =缩写提交哈希 %x09 = TAB(代码9的字符) %an =作者名 %ad =作者日期(格式尊重——date= option) %s = subject 来自kernel.org/pub/software/scm/git/docs/git-log.html (PRETTY格式部分)由Vivek的评论。

请随意使用这个:

git log --pretty="%C(Yellow)%h  %C(reset)%ad (%C(Green)%cr%C(reset))%x09 %C(Cyan)%an: %C(reset)%s" --date=short -7

注意最后的-7,只显示最后7个条目。

看: