使用git pretty格式剪切下一个占位符,例如剪一个日期字符串

时间:2016-02-02 09:12:50

标签: git

根据pretty format documentation,您可以填充占位符。对于我的例子,我将使用apache commons-io git repository。填充格式也可以采用参数trunc。 E.g。

git log --format="%<(25)%cn %<(25,trunc)%s"

会输出类似这样的内容

Kristian Rosenvold        [maven-release-plugin] ..
Kristian Rosenvold        [maven-release-plugin] ..
Kristian Rosenvold        Moved to changes
Kristian Rosenvold        Updated release notes
Kristian Rosenvold        Added Shift_JIS to list..

trunc参数会剪切下一个占位符,并用..替换剪切后的字符串。

是否可以在不添加..的情况下剪切下一个占位符?

在例如切割占位符时非常有用我只想输出日期而不是完整的日期格式。我想写点像

git log --format="%h %<(10, cut)%ci"

它应该输出

06bcd4c 2016-01-01
11fae28 2015-12-30

1 个答案:

答案 0 :(得分:0)

可以使用控制字符删除..。 E.g。

git log --format="%h %<(12,trunc)%ci%x08%x08"

将输出类似

的内容
06bcd4c 2016-01-01
11fae28 2015-12-30

上面的日志语句在截断格式后使用%x08x08是删除一个输出字符的退格控制字符。因此%x08%x08将删除..

PS:因为如果字符串被截断,trunc仅附加..,上述解决方案只有在确定字符串将被截断时才有效。否则,它会删除输出字符串的最后两个字符,而不是..