I\'d like git status
to always use the short format:
$ git status --short
M file1
M dir/file2
?? file_untracked3
?? dir/file_untracked4
The easiest way is to use another alias, as I suggest in my comment. I think there is no way to create an alias with the name of a built-in command. If you insist on using git status
, another option is (git is open source after all):
builtin/commit.c
int cmd_status(int argc, const char **argv, const char *prefix)
switch-statement
code:
...
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;
}
...
Use a different alias. Instead of trying to alias 'status', do:
git config --global alias.s 'status --short'
Now "git s" gives you short output, and "git status" gives you long output.
Starting git1.8.4 (July 2013), you can configure git status
to use short by default.
See commit 50e4f757f4adda096239c1ad60499cf606bf2c6f:
Some people always run '
git status -s
'.
The configuration variablestatus.short
allows to set it by default.
So:
git config status.short true
And you would be all set!
Ben Allred adds in the comments:
A quick test shows that
git config status.branch true
works as well, to show the branch information in conjunction with short-format.
It was reversed for a time:
Commit 908a0e6b98e5a7c4b299b3643823bdefb4fa512e:
It makes it impossible to "
git commit
" whenstatus.short
is set, and also "git status --porcelain
" output is affected bystatus.branch
.
But it is now back, still for git 1.8.4 (July/August 2013)
See commit f0915cbaf476d63f72c284057680809ed24fbe0d:
commit: make it work with
status.short
With "
status.short
" set, it is now impossible to commit with status.short set, because it acts like "git commit --short
", and it is impossible to differentiate between a status_format set by the command-line option parser versus that set by the config parser.To alleviate this problem, clear
status_format
as soon as the config parser has finished its work.Signed-off-by: Ramkumar Ramachandra
You may create an alias.
But I'd create bash script:
#!/bin/bash
git status --short
save this script in ~/bin/gits
(or /usr/bin/gits
and chmod 555
), so typing gits
gives what you want.