2013-04-10 136 views
2

我想要一种获得git diff和git status缓冲区的寻呼视图(less)的方法,以便获得我工作更改状态的完整摘要。它有帮助,因为git diff独自会隐藏上演的变化,而status将能够突出显示。同时显示git diff和git状态

我知道我大概可以这样做

{ git status && git diff | cat } 

基本上这里concats输出,但这会导致git diff下降语法颜色。

我很可能使用perl,但我想用一些巧妙的shbashzsh伎俩,同时保持颜色不变,以Concat的这些东西。

而且,我的git的差异使用

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

因此,也许我得设置一些定制了它跳过使用less所以我能将我的less在串联输出。

+0

'git diff --color |猫'不会掉色,只是FYI。 :) – Amber 2013-04-10 06:02:23

回答

4

就比较明确反对什么已经承诺:

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