定义git log输出格式时zsh中的额外输出

时间:2012-01-08 11:41:42

标签: git zsh

当我尝试使用

git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short

在zsh中,总有一些额外的输出,如:

27m/Users/tyraeltong/tmp/git-immersion/hello [n]' --graph --date=...* b1ca0c6 2012-01-08 | Added README (HEAD, master) [Tyrael Tong]
* 6844069 2012-01-08 | Added a Rakefile [Tyrael Tong]
* 99430f3 2012-01-08 | Moved hello.rb to lib [Tyrael Tong]
* da616c8 2012-01-08 | Add an author/email info [Tyrael Tong]
* d997079 2012-01-06 | Added a comment (v1) [Tyrael Tong]
* ea557cd 2012-01-06 | Added a default value (v1-beta) [Tyrael Tong]
* 0111ccd 2012-01-06 | First Commit [Tyrael Tong]

如何删除27m/Users/tyraeltong/tmp/git-immersion/hello [n]' --graph --date=...

4 个答案:

答案 0 :(得分:4)

""%之间插入s为我解决了这个问题:

git log --pretty=format:"%h %ad | %""s%d [%an]" --graph --date=short

答案 1 :(得分:2)

您在this oh-my-zsh issue中讨论了所看到的内容。还有一个临时修复:

  

所有问题都是因为lib / termsupport.zsh第12行。    暂时修复,只需注释这一行。此行尝试在终端窗口上设置标题。所以删除它并不是什么大事:):

在上一条评论中,有一个指向另一个修复的链接:

  

您也可以像https://bugs.launchpad.net/ubuntu/+source/zsh/+bug/435336/comments/2

中所述修复它

(注意:最好转到https://bugs.launchpad.net/ubuntu/+source/zsh/+bug/435336/,因为“/ comments / 2”网址只显示第二条评论而没有其他内容。

答案 2 :(得分:1)

我尝试使用稍微不同的命令来设置别名并且具有完全相同的问题。

这解决了我:

alias glp='git log --pretty=format:"%h %an %ar - %"s""'

因此,只需将 s 放在引号中,输出就不会再添加垃圾了 27m

答案 3 :(得分:0)

这不是你的提示。这种情况发生在zsh和空PS1上。 zsh正在做一些扩展%s的事情,认为在这种情况下它是你提示的一部分。它是用setopt nopromptpercent修复的,但这可能会搞砸你的提示。

可能不可移植的解决方案是提示逃避%s。请尝试运行此代码:

git log --pretty=format:"%h %ad | %%s%d [%an]" --graph --date=short