From: "Dan Fabulich via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Dan Fabulich <dan@fabulich.com>, Dan Fabulich <dan@fabulich.com>
Subject: [PATCH] doc: clarify difference between `push.default` `simple` and `current`
Date: Wed, 23 Jul 2025 23:00:24 +0000 [thread overview]
Message-ID: <pull.1944.git.1753311625075.gitgitgadget@gmail.com> (raw)
From: Dan Fabulich <dan@fabulich.com>
The documentation made `simple` and `current` sound identical. The
difference is that `simple` strictly checks that the upstream tracking
branch's name matches the current branch's name.
Signed-off-by: Dan Fabulich <dan@fabulich.com>
---
doc: clarify difference between push.default simple and current
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1944%2Fdfabulich%2Fgit-config-simple-doc-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1944/dfabulich/git-config-simple-doc-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1944
Documentation/config/push.adoc | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/Documentation/config/push.adoc b/Documentation/config/push.adoc
index 0acbbea18a3..3e03cb31606 100644
--- a/Documentation/config/push.adoc
+++ b/Documentation/config/push.adoc
@@ -15,7 +15,7 @@ push.default::
Different values are well-suited for
specific workflows; for instance, in a purely central workflow
(i.e. the fetch source is equal to the push destination),
- `upstream` is probably what you want. Possible values are:
+ `simple` is probably what you want. Possible values are:
+
--
@@ -23,8 +23,8 @@ push.default::
given. This is primarily meant for people who want to
avoid mistakes by always being explicit.
-* `current` - push the current branch to update a branch with the same
- name on the receiving end. Works in both central and non-central
+* `current` - push the current branch to update the branch with the same
+ name on the remote. Works in both central and non-central
workflows.
* `upstream` - push the current branch back to the branch whose
@@ -35,11 +35,13 @@ push.default::
* `tracking` - This is a deprecated synonym for `upstream`.
-* `simple` - push the current branch with the same name on the remote.
+* `simple` - push the current branch to its upstream tracking branch,
+ but only if the upstream tracking branch has the same name as the
+ current branch. (`simple` will fail with an error if the upstream
+ tracking branch's name doesn't match the current branch's name.)
+
-If you are working on a centralized workflow (pushing to the same repository you
-pull from, which is typically `origin`), then you need to configure an upstream
-branch with the same name.
+`simple` will also fail if the current branch doesn't have an upstream
+tracking branch configured, unless `push.autoSetupRemote` is enabled.
+
This mode is the default since Git 2.0, and is the safest option suited for
beginners.
base-commit: 3f2a94875d2f41fe4758a439f68d8b73cfb19d0f
--
gitgitgadget
next reply other threads:[~2025-07-23 23:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-23 23:00 Dan Fabulich via GitGitGadget [this message]
2025-07-23 23:36 ` [PATCH] doc: clarify difference between `push.default` `simple` and `current` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1944.git.1753311625075.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=dan@fabulich.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.