每当我做git diff时,它都会把我带到diff结果的末尾。
我使用diff3
作为diff.tool
我想只看当前页面的彩色差异,在我按j
之前不应向下滚动。
当我将“core.pager”改为“less”时,
它删除了所有颜色和格式,就像这张图片一样,但分页效果很好。
是否存在不改变差异结果的颜色和格式的寻呼机?
答案 0 :(得分:1)
使用less
或-r
呼叫-R
它会预先设置颜色代码,因此为less
创建别名是一种可能的解决方案:
alias less="less -r"
答案 1 :(得分:0)
替代方案在 Git 2.33(2021 年第三季度)中进行了解释,其中“color.pager
”配置变量的文档已更新。
请参阅 commit a84216c 的 Jeff King (peff
)(2021 年 5 月 19 日)。
(2021 年 6 月 10 日于 Junio C Hamano -- gitster
-- 被 commit 7ce7a61 合并)
doc
:解释color.pager
签字人:Jeff King
<块引用>color.pager
的当前文档在技术上是正确的,但有点误导,并没有真正阐明变量的用途。
如 original thread which added it 中所述:
重点是处理不理解颜色的寻呼机。
因此将其设置为“true”对于将输出着色到寻呼机是必要的,但其本身还不够(您还必须启用其他颜色选项之一,但请注意,这些选项被设置为“自动”这几天默认)。
git config
现在包含在其 man page 中:
一个布尔值,用于指定 auto
颜色模式是否应该着色
输出到寻呼机。
默认为 true
;
如果您的寻呼机不理解 ANSI 颜色代码,请将其设置为 false
。
来自线程:
<块引用> <块引用>我真的不明白你为什么要启用颜色,如果
你想在分页时禁用它。
当您想要一个足够短而不会被分页的颜色差异时,您是否有很多情况?
当我使用转义字符或突出显示的寻呼机时
内容本身没有寻呼机的 git diff
的输出应该有
颜色,但不是与寻呼机。
例如,使用带有路径规范的 git diff
在大多数情况下是相当短的。
对于 git diff
,我必须手动启用分页并通常运行 git diff | $PAGER
,但 git log
会自动使用寻呼机,不应使用颜色。