如何让'git status'始终使用短格式?

时间:2010-05-28 08:48:54

标签: git zsh status

我希望git status始终使用短格式:

$ git status --short
 M file1
 M dir/file2
?? file_untracked3
?? dir/file_untracked4

似乎没有配置选项,git config --global alias.status "status --short"不起作用。我还没有设法在 zsh 中创建别名。

默认情况下如何让git status使用短格式?

4 个答案:

答案 0 :(得分:33)

使用其他别名。不要试图别名“状态”,而是:

git config --global alias.s 'status --short'

现在“git s”给你短输出,“git status”给出 你输出很长。

答案 1 :(得分:33)

启动git1.8.4 (July 2013),您可以将git status配置为默认使用短信 见commit 50e4f757f4adda096239c1ad60499cf606bf2c6f

  

有些人总是跑'git status -s'   配置变量status.short允许默认设置它。

所以:

git config status.short true

你会全力以赴!


Ben Allred添加in the comments

  

快速测试表明, git config status.branch true 也适用于显示分支信息和短格式。


它被推翻了一段时间:

Commit 908a0e6b98e5a7c4b299b3643823bdefb4fa512e

  

设置git commit时“status.short”无法生成,git status --porcelain“输出也受status.branch影响。

但它现在又回来了,仍然是git 1.8.4(2013年7月/ 8月)

请参阅commit f0915cbaf476d63f72c284057680809ed24fbe0d

  

提交:使其与status.short

一起使用      

设置“status.short”后,现在无法使用status.short设置,因为它的作用类似于“git commit --short”,并且无法区分命令设置的status_format -line选项解析器与配置解析器设置的解析器。

     

要解决此问题,请在配置解析器完成其工作后立即清除status_format

     

签名:Ramkumar Ramachandra

答案 2 :(得分:7)

最简单的方法是使用另一个别名,正如我在评论中所建议的那样。我认为无法使用内置命令的名称创建别名。如果你坚持使用git status,另一种选择是(git毕竟是开源的):

  • 获取git源代码(例如http://github.com/git/git/
  • 打开文件builtin/commit.c
  • 寻找函数int cmd_status(int argc, const char **argv, const char *prefix)
  • 在底部,您会找到switch-statement
  • 注释掉两行,如下面的代码所示
  • 添加以下代码中的行

代码:

...
switch (status_format) {
    case STATUS_FORMAT_SHORT:
        wt_shortstatus_print(&s, null_termination);
        break;
    case STATUS_FORMAT_PORCELAIN:
        wt_porcelain_print(&s, null_termination);
        break;
    case STATUS_FORMAT_LONG:
        //s.verbose = verbose;      <--lines have to be commented out
        //wt_status_print(&s);
        wt_shortstatus_print(&s, null_termination);    //<-- line has to be added
        break;
    } 
 ...
  • 翻拍git

答案 3 :(得分:0)

您可以创建alias

但我要创建bash脚本:

#!/bin/bash
git status --short

将此脚本保存在~/bin/gits(或/usr/bin/gitschmod 555)中,因此输入gits可提供您想要的内容。