@@ -2560,119 +2560,7 @@ protocol.version::
25602560
25612561include::pull-config.txt[]
25622562
2563- push.default::
2564- Defines the action `git push` should take if no refspec is
2565- explicitly given. Different values are well-suited for
2566- specific workflows; for instance, in a purely central workflow
2567- (i.e. the fetch source is equal to the push destination),
2568- `upstream` is probably what you want. Possible values are:
2569- +
2570- --
2571-
2572- * `nothing` - do not push anything (error out) unless a refspec is
2573- explicitly given. This is primarily meant for people who want to
2574- avoid mistakes by always being explicit.
2575-
2576- * `current` - push the current branch to update a branch with the same
2577- name on the receiving end. Works in both central and non-central
2578- workflows.
2579-
2580- * `upstream` - push the current branch back to the branch whose
2581- changes are usually integrated into the current branch (which is
2582- called `@{upstream}`). This mode only makes sense if you are
2583- pushing to the same repository you would normally pull from
2584- (i.e. central workflow).
2585-
2586- * `tracking` - This is a deprecated synonym for `upstream`.
2587-
2588- * `simple` - in centralized workflow, work like `upstream` with an
2589- added safety to refuse to push if the upstream branch's name is
2590- different from the local one.
2591- +
2592- When pushing to a remote that is different from the remote you normally
2593- pull from, work as `current`. This is the safest option and is suited
2594- for beginners.
2595- +
2596- This mode has become the default in Git 2.0.
2597-
2598- * `matching` - push all branches having the same name on both ends.
2599- This makes the repository you are pushing to remember the set of
2600- branches that will be pushed out (e.g. if you always push 'maint'
2601- and 'master' there and no other branches, the repository you push
2602- to will have these two branches, and your local 'maint' and
2603- 'master' will be pushed there).
2604- +
2605- To use this mode effectively, you have to make sure _all_ the
2606- branches you would push out are ready to be pushed out before
2607- running 'git push', as the whole point of this mode is to allow you
2608- to push all of the branches in one go. If you usually finish work
2609- on only one branch and push out the result, while other branches are
2610- unfinished, this mode is not for you. Also this mode is not
2611- suitable for pushing into a shared central repository, as other
2612- people may add new branches there, or update the tip of existing
2613- branches outside your control.
2614- +
2615- This used to be the default, but not since Git 2.0 (`simple` is the
2616- new default).
2617-
2618- --
2619-
2620- push.followTags::
2621- If set to true enable `--follow-tags` option by default. You
2622- may override this configuration at time of push by specifying
2623- `--no-follow-tags`.
2624-
2625- push.gpgSign::
2626- May be set to a boolean value, or the string 'if-asked'. A true
2627- value causes all pushes to be GPG signed, as if `--signed` is
2628- passed to linkgit:git-push[1]. The string 'if-asked' causes
2629- pushes to be signed if the server supports it, as if
2630- `--signed=if-asked` is passed to 'git push'. A false value may
2631- override a value from a lower-priority config file. An explicit
2632- command-line flag always overrides this config option.
2633-
2634- push.pushOption::
2635- When no `--push-option=<option>` argument is given from the
2636- command line, `git push` behaves as if each <value> of
2637- this variable is given as `--push-option=<value>`.
2638- +
2639- This is a multi-valued variable, and an empty value can be used in a
2640- higher priority configuration file (e.g. `.git/config` in a
2641- repository) to clear the values inherited from a lower priority
2642- configuration files (e.g. `$HOME/.gitconfig`).
2643- +
2644- --
2645-
2646- Example:
2647-
2648- /etc/gitconfig
2649- push.pushoption = a
2650- push.pushoption = b
2651-
2652- ~/.gitconfig
2653- push.pushoption = c
2654-
2655- repo/.git/config
2656- push.pushoption =
2657- push.pushoption = b
2658-
2659- This will result in only b (a and c are cleared).
2660-
2661- --
2662-
2663- push.recurseSubmodules::
2664- Make sure all submodule commits used by the revisions to be pushed
2665- are available on a remote-tracking branch. If the value is 'check'
2666- then Git will verify that all submodule commits that changed in the
2667- revisions to be pushed are available on at least one remote of the
2668- submodule. If any commits are missing, the push will be aborted and
2669- exit with non-zero status. If the value is 'on-demand' then all
2670- submodules that changed in the revisions to be pushed will be
2671- pushed. If on-demand was not able to push all necessary revisions
2672- it will also be aborted and exit with non-zero status. If the value
2673- is 'no' then default behavior of ignoring submodules when pushing
2674- is retained. You may override this configuration at time of push by
2675- specifying '--recurse-submodules=check|on-demand|no'.
2563+ include::push-config.txt[]
26762564
26772565include::rebase-config.txt[]
26782566
0 commit comments