git日志输出被直接转储,而不需要通过分页器

92dk7w1h  于 2022-11-20  发布在  Git
关注(0)|答案(3)|浏览(132)

正如上面的GIF所示,在我的WSL 2Ubuntu中运行git log突然变得非交互式了。(而Windows对应项似乎工作正常)。git已经更新到最新版本,当单独运行WSL 2时也会出现此行为,即没有使用Windows终端应用程序。对导致此问题的原因有什么想法吗?任何帮助都将不胜感激。谢谢!

liwlm1x9

liwlm1x91#

您的Ubuntu上似乎没有寻呼机工作。请尝试git -c core.pager=more loggit -c core.pager=less log。如果moreless不可用,它可能仍然无法工作。如果它可以工作,您可以通过

git config --global core.pager less
# or "more", depending on which takes effect

此外,您可以通过git --no-pager log暂时禁用寻呼机。

esyap4oy

esyap4oy2#

遵循git config core.pager的文档(来自git help config):

核心.分页器

Git命令使用的文本查看器(例如less)。该值由shell解释。首选顺序是$GIT_PAGER环境变量,core.pager配置,$PAGER,然后是编译时选择的默认值(通常为less)。
检查以下各项的值:

echo $GIT_PAGER
git config core.pager
echo $PAGER

如果寻呼机确实是less,请确认是否安装了less(很可能是这种情况:less --version),然后检查影响LESS的环境变量:

env | grep LESS

这些选项中的一些可能关闭less的寻呼。
最后,如果上面的所有值看起来都像正常值,检查您的终端和tty是否报告了正确的值(echo $TERM,我刚刚从this question中钓到了stty size,等等...)。

cedebl8k

cedebl8k3#

git log应该显示所有提交到仓库的列表,所以它是按预期工作的see documentation?也许你以前从来没有注意到它,因为你的仓库很小?现在你有这么多的提交,它的冻结?这只是暂时的吗?(你的GIF看起来像是通过一个工具,如less)
如果您不希望这样,请使用一些命令行参数来细化您正在执行的操作。
git log -n 1
仅显示最近的提交。-n 2显示最近的两次提交,依此类推...
许多windows git工具都是git的 Package 器,所以它们可能会做一些额外的事情,这可以解释你所看到的行为差异

相关问题