git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: garyyang6@yahoo.com
Cc: git@vger.kernel.org
Subject: Re: How to update the tag to Git server?
Date: Wed, 03 Dec 2008 18:48:43 -0800	[thread overview]
Message-ID: <7v1vwo7j04.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <84437.20577.qm@web37903.mail.mud.yahoo.com> (Gary Yang's message of "Wed, 3 Dec 2008 18:16:32 -0800 (PST)")

Gary Yang <garyyang6@yahoo.com> writes:

> I pushed code from my local repository to Git Server.
> git push git.company.com:/pub/git/training.git
>
> I, then tagged my local repository.
> git tag -u gyang@company.com RELEASE_2

git-push(1) manual page says that the syntax of the command is:

   'git push' [--all | --mirror] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>]
              [--repo=<repository>] [-f | --force] [-v | --verbose]
              [<repository> <refspec>...]

and its OPTIONS section explains what <refspec> means.

<refspec>...::
	The canonical format of a <refspec> parameter is
	`+?<src>:<dst>`; that is, an optional plus `{plus}`, followed
	by the source ref, followed by a colon `:`, followed by
	the destination ref.
	...
        The <src> side represents the source branch (or arbitrary
        "SHA1 expression", such as `master~4` (four parents before the
        tip of `master` branch); see linkgit:git-rev-parse[1]) that you
        want to push.  The <dst> side represents the destination location.

You want to update refs/tags/RELEASE_2 on the destination side (i.e. the
public server) with the same refs/tags/RELEASE_2 on the source side
(i.e. your side), so you would want to say

	refs/tags/RELEASE_2:refs/tags/RELEASE_2

for <refspec>.  The documentation further mentions that there is a
short-hand for that:

	`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.

Hence the command line becomes:

    $ git push svdcgit01.amcc.com:/pub/git/training.git tag RELEASE_2

Note that saying "tag" is redundant these days as long as you do not have
a branch named "RELEASE_2" at the same time.  But saying "tag" never
hurts, as it is still (and will be) supported.

Note to people who teach git to new people.  The moral of the story is not
that people should learn to read the manual pages.  It is that people
should not learn "push" without remote nor refspec first.  In other words,
the first push command you teach them should be the "git push $over_there
$this_refspec" form, fully spelled.

      parent reply	other threads:[~2008-12-04  2:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-04  2:16 How to update the tag to Git server? Gary Yang
2008-12-04  2:35 ` Peter Harris
2008-12-04  2:48 ` Junio C Hamano [this message]

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=7v1vwo7j04.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=garyyang6@yahoo.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 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).