Re: [PATCH] Mention that 'push .. master' is in explicit form master:refs/heads/master

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] Mention that 'push .. master' is in explicit form master:refs/heads/master

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:35

Jari Aalto [off-list ref] writes:
quoted hunk
Signed-off-by: Jari Aalto <jari.aalto AT cante.net>
---
 Documentation/git-push.txt |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 7b8e075..71ac450 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -105,7 +105,9 @@ git push origin master::
 	Find a ref that matches `master` in the source repository
 	(most likely, it would find `refs/heads/master`), and update
 	the same ref (e.g. `refs/heads/master`) in `origin` repository
-	with it.
+	with it. The following would be exactly same command:
+
+	git push origin master:refs/heads/master
They _might_ be exactly the same.

The reason people often explicitly write

	$ git push $URL refs/heads/master:refs/heads/master

in their insns for newbies is because this form would not be
affected by the random factors at $URL repository (or your
repository) and will consistently get the same result.

	$ git push $URL foo

may push branch head 'foo' or tag 'foo' depending on which one
you have locally.  Having both is not encouraged, but spelling
the insn out explicitly as refs/heads/foo makes it clear the
command is talking about the branch even when there is a tag
with the same name.

Re: [PATCH] Mention that 'push .. master' is in explicit form master:refs/heads/master

From: Jari Aalto <hidden>
Date: 2016-06-15 22:43:35

* Tue 2007-09-18 Junio C Hamano <gitster AT pobox.com>
* Message-Id: 7vfy1bvgn1.fsf AT gitster.siamese.dyndns.org
quoted
 	Find a ref that matches `master` in the source repository
 	(most likely, it would find `refs/heads/master`), and update
 	the same ref (e.g. `refs/heads/master`) in `origin` repository
-	with it.
+	with it. The following would be exactly same command:
+
+	git push origin master:refs/heads/master
They _might_ be exactly the same.

The reason people often explicitly write

	$ git push $URL refs/heads/master:refs/heads/master

in their insns for newbies is because this form would not be
affected by the random factors at $URL repository (or your
repository) and will consistently get the same result.

	$ git push $URL foo

may push branch head 'foo' or tag 'foo' depending on which one
you have locally.  Having both is not encouraged, but spelling
the insn out explicitly as refs/heads/foo makes it clear the
command is talking about the branch even when there is a tag
with the same name.
Thank you, kindly broaden the current documentation to include this
explanation.

Jari

-- 
Welcome to FOSS revolution: we fix and modify until it shines
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help