如何使git log输出仅在一行上显示日期和哈希?

Bot*_*cco 4 git git-log

我需要获取Date并以这种格式提交一组github的结果:

Date Commit
19 Mar 2015 b6959eafe0df6031485509c539e22eaf2780919c
1 Apr 2015 9a1f13339cc7d43930440c2350ea3060b72c8503
1 Apr 2015 1e76036421ca4d72c371182fc494af514911b099
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令获取日期:

git log | grep Date: | awk '{print  $4 " " $3 " " $6}'
Run Code Online (Sandbox Code Playgroud)

和提交

git log | grep commit | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

如何合并命令,以便在同一行中打印两个结果?

这是git日志的示例:

commit 1e76036421ca4d72c371182fc494af514911b099
Author: xxxx
Date:   Wed Apr 1 17:35:36 2015 +0200

    First web app commit

    First web app commit

commit 9a1f13339cc7d43930440c2350ea3060b72c8503
Author: xxxx
Date:   Wed Apr 1 17:28:42 2015 +0200

   change from app to website

commit b6959eafe0df6031485509c539e22eaf2780919c
Author: xxx
Date:   Thu Mar 19 18:58:33 2015 +0100

   First remote commit: hello world

    scheleton of the project now available

commit a41d419de46a59e72dbc52e5f39c9d8a8a9af72a
Author: xxxx
Date:   Thu Mar 19 17:31:16 2015 +0100

    Initial commit
Run Code Online (Sandbox Code Playgroud)

Jul*_*eau 5

“ git log”命令功能强大,足以自行处理。尝试以下变化:

git log --date=iso --pretty=format:"date={%ad}, commit={%H}"
Run Code Online (Sandbox Code Playgroud)

对我来说,输出:

date={2014-12-12 14:14:23 -0800}, commit={75390af8bcd42c4dde6d841dc53f66a9ca91f460}
date={2014-12-09 18:53:32 -0800}, commit={8dcf9eb10611e6ac778e518cf37efb041c69f5b5}
date={2014-12-11 17:17:26 -0800}, commit={c3c1120b6dda6b317e1de5c7fe4eed7c8741ea1a}
Run Code Online (Sandbox Code Playgroud)

要获得您指定的确切格式(尽管日期的格式更合理),请尝试以下操作:

 ?git log --date=short --pretty=format:"%ad %H"
Run Code Online (Sandbox Code Playgroud)

输出如下内容:

2015-08-18 1d0ca5a596f02958c4ba8ff269def3f235c64495
2015-08-18 d92fc3ebb62d2ca3e24322db2b669fdaebde7ea1
2015-08-18 6ba3970620e19699c2969b1eed5c479b07b8908a
Run Code Online (Sandbox Code Playgroud)