我想要一种获取git diff和git status缓冲区的寻呼机视图(less
)的方法,以获得我工作变化状态的完整摘要。它有帮助,因为git diff
单独会隐藏分阶段的变化,而status
将能够突出显示。
我知道我可能会做类似
的事情{ git status && git diff | cat }
基本上在这里汇总输出,但这会导致git diff
删除语法颜色。
我可以使用perl
,但我想使用一些整洁的sh
,bash
或zsh
技巧来连接这些东西,同时保持颜色不变。
另外,我的git diff使用
[pager]
log = diff-highlight | less
show = diff-highlight | less
diff = diff-highlight | less
所以也许我必须设置一些自定义的东西,它会跳过less
的使用,这样我就可以在连接输出上应用我的less
。
答案 0 :(得分:4)
只需明确比较已经提交的内容:
git diff HEAD
无论上演的是什么,这都将向您展示完整的差异。如果您做想要查看已上演的内容以及未上载的内容,那么您可以在连接前明确请求颜色:
git status && git diff --color | cat
请注意,这仍然会从git status
命令中删除颜色。如果你想要那么彩色,你可以利用Git的能力在每个命令的基础上覆盖配置值:
git -c color.ui=always status && git diff --color | cat