git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] doc: clarify difference between `push.default` `simple` and `current`
@ 2025-07-23 23:00 Dan Fabulich via GitGitGadget
  2025-07-23 23:36 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Fabulich via GitGitGadget @ 2025-07-23 23:00 UTC (permalink / raw)
  To: git; +Cc: Dan Fabulich, Dan Fabulich

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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-07-23 23:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-23 23:00 [PATCH] doc: clarify difference between `push.default` `simple` and `current` Dan Fabulich via GitGitGadget
2025-07-23 23:36 ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).