同时显示git diff和git状态
问题描述:
我想要一种获得git diff和git status缓冲区的寻呼视图(less
)的方法,以便获得我工作更改状态的完整摘要。它有帮助,因为git diff
独自会隐藏上演的变化,而status
将能够突出显示。同时显示git diff和git状态
我知道我大概可以这样做
{ git status && git diff | cat }
基本上这里concats输出,但这会导致git diff
下降语法颜色。
我很可能使用perl
,但我想用一些巧妙的sh
,bash
或zsh
伎俩,同时保持颜色不变,以Concat的这些东西。
而且,我的git的差异使用
[pager]
log = diff-highlight | less
show = diff-highlight | less
diff = diff-highlight | less
因此,也许我得设置一些定制了它跳过使用less
所以我能将我的less
在串联输出。
答
就比较明确反对什么已经承诺:
git diff HEAD
会告诉你完整的差异,不管是什么一直在上演与否。如果您做想看看有什么已经上演,什么也没有,那么你可以明确要求的颜色在连接前:
git status && git diff --color | cat
注意,这仍然下降从git status
命令的颜色。如果你需要这种颜色,你可以利用Git的能力来覆盖每个命令的配置值:
git -c color.ui=always status && git diff --color | cat
+0
很酷。我实际上喜欢有能力减少未分离的变化并查看摘要(该状态很好地提供),所以它基本上将状态附加到diff,因为它们是默认的。我只想要颜色留下来。 – 2013-04-10 15:10:14
'git diff --color |猫'不会掉色,只是FYI。 :) – Amber 2013-04-10 06:02:23