当我查看一个很大的差异时git diff
,它会被分页less
。这是通过打开另一个窗口,从检查的数据证实ps -aux
和/proc
。
但是,当less
被 Git 调用时,它不会将终端内容在命中后恢复到之前的状态q
(差异内容保留在终端中)。但是当我这样做时
git diff commit1 commit2 --color | less -R
Run Code Online (Sandbox Code Playgroud)
并按less
键退出q
,内容消失,终端恢复到之前的状态。
更有趣的是,如果我做这些
export PAGER=less LESS='-R'
Run Code Online (Sandbox Code Playgroud)
和 invoke git diff
(或任何其他调用寻呼机的命令)的less
行为与直接从 Bash shell 调用一样。
这是描述我的问题的简短屏幕截图。在左侧窗格中,命令执行如下:
unset PAGER GIT_PAGER LESS
git diff HEAD^ HEAD
Run Code Online (Sandbox Code Playgroud)
在右侧窗格中,您会看到命令。最新的提交是 100 多行y
写入文件。在两个窗格上less
都使用 key 退出q
。
谁能告诉我有什么不同并解释为什么?
归档时间: |
|
查看次数: |
1128 次 |
最近记录: |