@@ -23,6 +23,17 @@ You can make interesting things happen to a repository
2323every time you push into it, by setting up 'hooks' there. See
2424documentation for linkgit:git-receive-pack[1].
2525
26+ When the command line does not specify where to push with the
27+ `<repository>` argument, `branch.*.remote` configuration for the
28+ current branch is consulted to determine where to push. If the
29+ configuration is missing, it defaults to 'origin'.
30+
31+ When the command line does not specify what to push with `<refspec>...`
32+ arguments or `--all`, `--mirror`, `--tags` options, the command finds
33+ the default `<refspec>` by consulting `remote.*.push` configuration,
34+ and if it is not found, honors `push.default` configuration to decide
35+ what to push (See gitlink:git-config[1] for the meaning of `push.default`).
36+
2637
2738OPTIONS[[OPTIONS]]
2839------------------
@@ -33,13 +44,10 @@ OPTIONS[[OPTIONS]]
3344 of a remote (see the section <<REMOTES,REMOTES>> below).
3445
3546<refspec>...::
47+ Specify what destination ref to update with what source object.
3648 The format of a <refspec> parameter is an optional plus
37- `+`, followed by the source ref <src>, followed
49+ `+`, followed by the source object <src>, followed
3850 by a colon `:`, followed by the destination ref <dst>.
39- It is used to specify with what <src> object the <dst> ref
40- in the remote repository is to be updated. If not specified,
41- the behavior of the command is controlled by the `push.default`
42- configuration variable.
4351+
4452The <src> is often the name of the branch you would want to push, but
4553it can be any arbitrary "SHA-1 expression", such as `master~4` or
@@ -66,10 +74,7 @@ the remote repository.
6674The special refspec `:` (or `+:` to allow non-fast-forward updates)
6775directs Git to push "matching" branches: for every branch that exists on
6876the local side, the remote side is updated if a branch of the same name
69- already exists on the remote side. This is the default operation mode
70- if no explicit refspec is found (that is neither on the command line
71- nor in any Push line of the corresponding remotes file---see below) and
72- no `push.default` configuration variable is set.
77+ already exists on the remote side.
7378
7479--all::
7580 Instead of naming each ref to push, specifies that all
0 commit comments