我希望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
使用短格式?
答案 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
你会全力以赴!
快速测试表明,
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毕竟是开源的):
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;
}
...
答案 3 :(得分:0)
您可以创建alias。
但我要创建bash脚本:
#!/bin/bash
git status --short
将此脚本保存在~/bin/gits
(或/usr/bin/gits
和chmod 555
)中,因此输入gits
可提供您想要的内容。