我有Git for Windows安装程序(msysgit),它在过去几天工作正常,今天我遇到了一个奇怪的错误。
在Windows命令提示符或与msysgit捆绑在一起的Git Bash中发出Git命令时,会出现一个奇怪的“(END)”行,然后我就不会发出任何其他的comamnds。
此时我得到的是系统发出的哔哔声。
有什么想法吗?
谢谢,P。
答案 0 :(得分:80)
Git希望向您显示多个信息屏幕,为此,它会调用标准的unix寻呼机程序less
。只需键入 q 即可在不再需要在输出中导航时返回提示。
如果你想有效地使用git,你应该学习基本的unix工具。即使git构建并在Windows上运行,它也几乎是平台上的外星软件。
如果您不希望less
只是将其替换为配置中的其他寻呼机。如果您根本不想使用寻呼机,只需使用cat
:
git config --global --add core.pager cat
答案 1 :(得分:12)
答案 2 :(得分:9)
当我寻找同样的事情时,我第一次遇到这个问题;不必退出日志命令。我已经找到了我喜欢的答案,所以即使它在原始询问之后很好,我会添加这个答案,以提供我在自己的搜索中找不到的其他解决方案。
其他人已经说明了为什么(END)
存在 - 结果通过寻呼机进行管道传输,可以为不同的寻呼机配置。
然而,我有时根本不希望它停止;因为我已经指定了其他限制选项。我找到了这个git has a global option --no-pager
来关闭配置文件中定义的任何寻呼机。
此全局选项位于git
命令本身,可用于所有子命令,并放在子命令之前,如下所示:
git --no-pager log
答案 3 :(得分:2)
Git正在使用名为less
的“寻呼机”,它允许您轻松滚动大量的节目输出。但是,Git for Windows的默认设置似乎是即使输出屏幕少于一个,也能保持寻呼机正常运行。
以下是我以前的默认设置,它会始终显示(END)
并等待您点击q
,然后返回到您的提示:
$ git config --get core.pager
less -+F
您可以通过将选项更改为less
而不是{{}来更改行为,以便-F
只有在屏幕输出超过时才会继续运行(并控制键盘) 1}}。
使用
修复讨厌的寻呼机-+F
(记录较少的$ git config --global core.pager "less -F"
选项语法将-+X
选项重置为“默认”,尽管这不是我在-X
中观察到的行为,因为完全删除了该选项相当于-+F
,而不是-F
。)