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

Re: How to use @{-1} with push?

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 25, 2016, 17:45 UTC
Message-ID
<xmqq8u164fjv.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAHd499AM-OzqiB1hOF=0BTesFxrxNj=+jr1wH6vpQXfgoXd8Ug@mail.gmail.com>
Robert Dailey <rcdailey.lists@gmail.com> writes:
> Both should refer to the last branch, but I know that these can't be
> used verbatim in a push command because it doesn't read it as a branch
> name normally like `git checkout` would.

You can ask rev-parse to give you --symbolic-full-name, error out if it is empty (i.e. detached HEAD), and otherwise use the result, no?

    $ git checkout next
    $ git checkout master
    $ git rev-parse --symbolic-full-name @{-1}
    refs/heads/master
    $ git checkout HEAD^0
    $ git checkout master
    $ git rev-parse --symbolic-full-name @{-1}
    $ exit
And
    $ git push origin :refs/heads/master
would be the fully-spelled out way to remove that branch.
Previous: Robert DaileyNext: Robert Dailey
Message 2 of 6 in “How to use @{-1} with push?”
  1. Robert DaileyMar 25, 2016
  2. Junio C HamanoMar 25, 2016
  3. Robert DaileyMar 25, 2016
  4. Robert DaileyMar 25, 2016
  5. Junio C HamanoMar 25, 2016
  6. Robert DaileyMar 28, 2016

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.