2013-04-09 26 views
1

我目前使用:如何使用--date = local在Git日志中以前导零显示日期部分?

git log --pretty='format:%ad %Cgreen%h%Cred%d %Creset%s' --date=local 

其产生:

Tue Apr 2 16:02:24 2013 b8b3975 Debug info for hidHandle.isClosed added. 
Mon Apr 1 15:31:46 2013 6b9b1ca Fixed mouse-button-up event images. 
Mon Apr 1 13:23:26 2013 907e8c6 Improved code-behind formatting. 
Thu Mar 28 17:14:59 2013 d2edade Remember colors on redraw. 
Thu Mar 28 16:49:51 2013 7491a07 Seven colors in a row. 

我希望此:使用--date=relative--date=iso--date=rfc--date=default

Tue Apr 02 16:02:24 2013 b8b3975 Debug info for hidHandle.isClosed added. 
Mon Apr 01 15:31:46 2013 6b9b1ca Fixed mouse-button-up event images. 
Mon Apr 01 13:23:26 2013 907e8c6 Improved code-behind formatting. 
Thu Mar 28 17:14:59 2013 d2edade Remember colors on redraw. 
Thu Mar 28 16:49:51 2013 7491a07 Seven colors in a row. 

结果并不令人满意。

我是否缺少其他选项?我在Windows 7 64位上使用git version 1.8.1.msysgit.1

回答

2

快速查看源代码,你的愿望是不可能的。如果您需要时区调整时间,您只能获得这种格式。如果是对你很重要,你可以通过sed通过输出:

git log --pretty='format:%ad %Cgreen%h%Cred%d %Creset%s' --date=local | sed 's/^\(.\{7\}\) \([0-9]\) /\1 0\2 /' 

如果要设置此作为别名mylog,运行这个命令:

git config --global alias.mylog '!'"git log --pretty='format:%ad %Cgreen%h%Cred%d %Creset%s' --date=local | sed 's/^\(.\{7\}\) \([0-9]\) /\1 0\2 /'" 

或者添加到您的~/.gitconfig

[alias] 
     mylog = !git log --pretty='format:%ad %Cgreen%h%Cred%d %Creset%s' --date=local | sed 's/^\\(.\\{7\\}\\) \\([0-9]\\) /\\1 0\\2 /' 
+0

你的解决方案给了我正是我想找的。是否有可能以某种方式将'sed'所做的事情整合到一个git别名中?不是很大的需求,只是好奇。我很长时间避免了'sed'。现在是时候结识了。我'塞德'嗨! – 2013-04-09 14:38:43

+0

我在'.bashrc'文件中为命令创建了一个别名。 – 2013-04-09 15:32:54

+1

扩展我的答案与git别名的信息。 – Chronial 2013-04-09 15:34:05

相关问题