@@ -3,21 +3,30 @@ git-stage(1)
NAME
----
-git-stage - Add file contents to the staging area
+git-stage - Manage the staging area
SYNOPSIS
--------
[verse]
'git stage' [options] [--] [<paths>...]
+'git stage' (-a | --add) [options] [--] [<paths>...]
DESCRIPTION
-----------
-The staging area is a location where changes are stored in preparation for a commit.
+This command is useful to manage the staging area which is a location where
+changes are stored in preparation for a commit.
+
+Without arguments it's a synonym for linkgit:git-add[1].
+
+OPTIONS
+-------
+-a::
+--add::
+ Add changes to the staging area. See linkgit:git-add[1].
-This is a synonym for linkgit:git-add[1].
SEE ALSO
--------
@@ -8,6 +8,7 @@
static const char *const stage_usage[] = {
N_("git stage [options] [--] <paths>..."),
+ N_("git stage --add [options] [--] <paths>..."),
NULL
};
@@ -34,7 +35,10 @@ static int rerun(int argc, const char **argv, ...)
int cmd_stage(int argc, const char **argv, const char *prefix)
{
+ int add = 0;
+
struct option options[] = {
+ OPT_BOOL_F('a', "add", &add, N_("add changes"), PARSE_OPT_NONEG),
OPT_END()
};
@@ -2376,6 +2376,11 @@ _git_send_email ()
_git_stage ()
{
+ if [[ "$cur" == --* ]]; then
+ __gitcomp_builtin stage
+ return
+ fi
+
_git_add
}
@@ -17,4 +17,10 @@ test_expect_success 'basic' '
in_stage foo
'
+test_expect_success 'add' '
+ touch bar &&
+ git stage --add bar &&
+ in_stage bar
+'
+
test_done
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- Documentation/git-stage.txt | 15 ++++++++++++--- builtin/stage.c | 4 ++++ contrib/completion/git-completion.bash | 5 +++++ t/t3710-stage.sh | 6 ++++++ 4 files changed, 27 insertions(+), 3 deletions(-)