同时显示git diff和git状态

时间:2013-04-10 05:58:01

标签: git shell unix sh zsh

我想要一种获取git diff和git status缓冲区的寻呼机视图(less)的方法,以获得我工作变化状态的完整摘要。它有帮助,因为git diff单独会隐藏分阶段的变化,而status将能够突出显示。

我知道我可能会做类似

的事情
{ git status && git diff | cat }

基本上在这里汇总输出,但这会导致git diff删除语法颜色。

我可以使用perl,但我想使用一些整洁的shbashzsh技巧来连接这些东西,同时保持颜色不变。

另外,我的git diff使用

[pager]
    log = diff-highlight | less
    show = diff-highlight | less
    diff = diff-highlight | less

所以也许我必须设置一些自定义的东西,它会跳过less的使用,这样我就可以在连接输出上应用我的less

1 个答案:

答案 0 :(得分:4)

只需明确比较已经提交的内容:

git diff HEAD

无论上演的是什么,这都将向您展示完整的差异。如果您想要查看已上演的内容以及未上载的内容,那么您可以在连接前明确请求颜色:

git status && git diff --color | cat

请注意,这仍然会从git status命令中删除颜色。如果你想要那么彩色,你可以利用Git的能力在每个命令的基础上覆盖配置值:

git -c color.ui=always status && git diff --color | cat