git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: `@` alias for `HEAD` not working in `git push -u origin @`

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 11, 2019, 09:46 UTC
Message-ID
<nycvar.QRO.7.76.6.1907111141380.46@tvgsbejvaqbjf.bet>
In-Reply-To
<20190710233937.GG9224@genre.crustytoothpaste.net>
Hi brian,
On Wed, 10 Jul 2019, brian m. carlson wrote:
Show 25 quoted lines
> On 2019-07-10 at 05:06:08, Mark Florian wrote:
> >
> > I learned today that `@` is a shortcut for `HEAD`. From `git help reivisions`:
> >
> >     @ alone is a shortcut for HEAD.
> >
> > However, when I tried to use it in a command I frequently use, I got an error:
> >
> >     $ git push -u origin @
> >     fatal: invalid refspec '@'
> >
> > I'm running git version 2.22.0 on Linux.
> >
> > Is this a bug, or have I misunderstood how this is supposed to work?
>
> This is a bug. If the destination side of a refspec is omitted, and the
> source side resolves to a ref starting with "refs/heads/" or
> "refs/tags/" (which I expect it does here), then that ref is used as the
> destination.
>
> I submitted a patch at [0], but it was decided not to pick it up. If
> Junio and the list decide that it's wanted, I'm happy to resend or
> revise and resend.
>
> [0] https://public-inbox.org/git/20180729192803.1047050-1-sandals@crustytoothpaste.net/

After reading that thread, I come to the conclusion that it was not so much a decision not to pick it up, but more like a falling between the cracks.

I would be in favor of this patch.

Since I have your attention and since I am interested in a related issue (when I wanted to propose a GSoC mini project to let `git fetch <remote> @` expand the `@` to the current (local) branch name, Matthieu Moy pointed out that `git fetch --current <remote>` might be a better UI): what does your patch do with `git fetch`'s refspec arguments?

Ciao, Dscho

Previous: brian m. carlsonNext: brian m. carlson
Message 3 of 7 in “`@` alias for `HEAD` not working in `git push -u origin @`”
  1. Mark FlorianJul 10, 2019
  2. brian m. carlsonJul 10, 2019
  3. Johannes SchindelinJul 11, 2019
  4. brian m. carlsonJul 11, 2019
  5. Johannes SchindelinJul 12, 2019
  6. Jeff KingJul 31, 2019
  7. Junio C HamanoJul 31, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.