Re: How to use @{-1} with push?
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:08:58
Robert Dailey [off-list ref] writes:
So the push works with the fully-qualified ref, but not git branch:
I thought these are clear from their documentation. "push" works on
refnames, "branch" works on branch names. "push" takes an branch
name as a short-hand and adds refs/heads/ when it makes sense, but
because it does not make any sense for "git branch" to create a
"branch" in a random place in refs/ (e.g. "refs/tags/foo" is not a
branch), it takes "foo" (i.e. the name of the branch, whose
underlying ref is "refs/heads/foo").
So
ref=$(git rev-parse --symbolic-full-name "$2") &&
case "$ref" in
'') echo >&2 "No such thing $2"; exit 1 ;;
refs/heads/*) ref=${ref#refs/heads/} ;;
*) echo >&2 "That's not a branch $2"; exit 2 ;;
esac &&
git push "$1" "refs/heads/$ref" &&
git branch -D "$ref"
or something?
$ git rev-parse --symbolic-full-name foo refs/heads/foo $ git branch -d refs/heads/foo error: branch 'refs/heads/foo' not found. Any reason for this? I'm using git 2.7.4 on windows