@@ -23,6 +23,17 @@ You can make interesting things happen to a repository
23
23
every time you push into it, by setting up 'hooks' there. See
24
24
documentation for linkgit:git-receive-pack[1].
25
25
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
+
26
37
27
38
OPTIONS[[OPTIONS]]
28
39
------------------
@@ -33,13 +44,10 @@ OPTIONS[[OPTIONS]]
33
44
of a remote (see the section <<REMOTES,REMOTES>> below).
34
45
35
46
<refspec>...::
47
+ Specify what destination ref to update with what source object.
36
48
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
38
50
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.
43
51
+
44
52
The <src> is often the name of the branch you would want to push, but
45
53
it can be any arbitrary "SHA-1 expression", such as `master~4` or
@@ -66,10 +74,7 @@ the remote repository.
66
74
The special refspec `:` (or `+:` to allow non-fast-forward updates)
67
75
directs Git to push "matching" branches: for every branch that exists on
68
76
the 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.
73
78
74
79
--all::
75
80
Instead of naming each ref to push, specifies that all
0 commit comments