Robert Dailey <rcdailey.lists@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html