如何让git log不提示继续?

我有几个属于一起的git存储库,以及简单的批处理/ bash文件来循环它们。 我经常使用log命令循环它们,以便快速查看它们处于什么状态。除了一件事:除了一个事情:如果提交消息比我的控制台宽(或有多行)字符的数量更长,git显示行,然后换行符(END),我必须按q继续(我想它通过更多或类似的东西pipe输出)。 例:

> gitloop . "git log --decorate=short --pretty=oneline -n1" 18629ae238e9d5832cb3535ec88274173337a501 (HEAD, origin/master, master) short log 625fb891b9b0b8648459b07ace662ae3b7773c7f (HEAD, origin/master, origin/HEAD, master) short log dc0838118266ba8570ea338c1faddfe8af0387bb (HEAD, origin/work, origin/master, work, master) oops loooooooooooooong log -(END) 

这是非常不方便的,因为我必须按q几次,而我只想一眼就看到所有的那些线索。

我怎样才能禁用这种行为(最好仍然保持这种日志格式)?

Git有一个选项来禁用寻呼机:

 git --no-pager log --decorate=short --pretty=oneline -n1 

如果您的传呼机剪切线,并希望保留该行为,要么pipe道cut

 git --no-pager log --decorate=short --pretty=oneline -n1 | cut -c 1-$COLUMNS 

…或者在调用之前设置环境variablesGIT_PAGER

 GIT_PAGER="cut -c 1-${COLUMNS-80}" git --no-pager log --decorate=short --pretty=oneline -n1 

如果没有 – pager不适合你,你可以把它设置为less -F。

 git log --decorate --oneline -5 | less -F