13

我根据 EdgeCase 的Git Immersion教程创建了一个 Git 别名,如下所示:

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

但现在它似乎正在对结果进行分页 - 显示(END)结果后显示终端,迫使我点击Q继续工作。我读到通过添加--no-pager标签,您可以禁用此功能;如何将其合并到别名中?我在最后、之前和之后都试过了,log但都没有奏效。Git 抛出一个错误,说它是一个无法识别的参数,或者它改变了环境变量。有什么建议吗?

4

3 回答 3

21

您只需将其转换为 shell 命令即可轻松完成此操作:

hist = "!git --no-pager log ..."
于 2011-02-23T02:43:42.470 回答
6

注意:对于 Git 2.18(2018 年第二季度),别名可以使用较短的选项--no-pager
git --no-pager cmd”没有短而甜的单字母选项。现在确实如此。

别名现在可以是:

hist = "!git -P log ..."

请参阅Johannes Sixt ( ) 的提交 7213c28(2018 年 5 月 3 日(由Junio C Hamano 合并 -- --提交 c9aac55中,2018 年 5 月 23 日)j6t
gitster

git:添加-P为短选项--no-pager

可以less将寻呼机“ ”配置为使用备用屏幕来显示内容,例如,通过LESS=RS在环境中进行设置。
在此配置下关闭时,它会切换回原始屏幕,所有内容都消失了。

要求输出在终端中保持可见的情况并不少见。为此,--no-pager可以使用该选项。
但是输入起来有点麻烦,即使命令完成是可用的。
提供一个简短的选项-P, 以使该选项更易于访问。

于 2018-05-25T22:11:46.857 回答
2

--no-pager 选项unrecognized option在 after 使用时会出错log,但它通过将 --no-pager 放在 log 之前起作用 - “git --no-pager log ....”工作

于 2018-01-20T06:55:59.820 回答