Git Windows命令提示在Git命令中卡住(结束)

我有Git的Windows安装程序(msysgit),它在过去几天工作正常,今天我遇到了一个奇怪的错误。

当在Windows命令提示符或与msysgit捆绑在一起的Git Bash中发出一个Git命令时,出现一个奇怪的“(END)”行,然后我不能发出任何其他的comamnds。

替代文字

在这一点上我得到的是系统哔哔声。

有任何想法吗?

谢谢,P.

Git希望向你展示多个屏幕的信息,这样做就可以调用标准的unix pager程序。 只要inputq ,就可以返回到不再需要在输出中导航的提示。

  • j向下移动一行
  • K移动一行
  • 向下移动一页
  • b向上移动一页
  • h显示帮助

如果你想高效地使用git,你应该学习基本的unix工具。 即使git在Windows上构build和运行,它也是平台上的一个外来软件。

如果您不想less只需将其replace为configuration中的另一个传呼机即可。 如果你不想要一个传呼机只是使用cat

 git config --global --add core.pager cat 

q退出寻呼机 (默认情况下git less )。

当我在找同样的东西的时候,我首先遇到了这个问题。 不必退出日志命令。 我从那以后find了我喜欢的答案,所以即使在原来的问题之后,我也会添加这个答案,以提供一个额外的解决scheme,在我自己的search中没有很快find答案。

其他人已经说明了为什么(END)存在 – 结果是通过一个寻呼机,一个可以configuration为一个不同的寻呼机。

不过,我有时候不想让它停下来; 因为我已经指定了其他的select来限制。 我发现这个git有一个全局选项 --no-pager来closuresconfiguration文件中定义的任何pager。

这个全局选项在git命令本身上,可用于所有的子命令,并放置在这样的子命令之前:

 git --no-pager log 

Git使用的叫做“pager” less ,它可以让你轻松滚动大量的程序输出。 但是,Git for Windows的默认设置似乎是保持传呼机运行,即使输出less于一个屏幕

这里是我以前的默认设置,它会始终显示(END)并等待您在返回到提示符之前按q

 $ git config --get core.pager less -+F 

你可以改变这个行为,只有在屏幕输出不止一个时,通过改变选项到-F而不是-+Fless只会继续运行(并控制键盘)。

修复讨厌的传呼机

 $ git config --global core.pager "less -F" 

-+X选项语法为lesslogging将-X选项重置为其“默认”,虽然这不是我用-+F观察到的行为,因为完全删除选项相当于-F ,而不是-+F 。)