默认情况下 git diff
将所有 +-
行打印到标准输出但是我有一台(devian)机器(我通过 ssh 连接)其中 git diff
将我带到一个编辑器(我不知道是哪个编辑器),我需要按 q 继续。
我检查了 git 配置,它看起来像:
$ git config --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=XXX
branch.master.remote=origin
branch.master.merge=refs/heads/master
$ git config --global --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
$ git config --system --list
'/etc/gitconfig': No such file or directory
有什么我想念的地方吗?也许未知工具是后备工具或其他东西,因为我的机器缺少某些东西?任何帮助表示赞赏。谢谢。
最佳答案
默认情况下,Git 将其 diff 输出(通常是任何超过一屏的输出)发送到系统的 pager,这是一个一次只打印一屏输出的实用程序.如果您想在运行命令时禁用寻呼机,请将 --no-pager
传递给 Git:
$ git --no-pager <subcommand> <options>
这可以为任何 Git 命令运行。
如果你想默认禁用它仅用于 diff,你可以通过运行将 diff pager 设置为 cat
:
$ git config pager.diff false
如果你想默认禁用它所有命令,你可以通过运行以下命令将 Git 寻呼机设置为 cat
:
$ git config --global core.pager cat
关于git - 如何让 git diff 写入标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077973/