5

Is there a syntax to reset to the current branch's default upstream HEAD?

Something like:

git checkout mybranch
git reset --hard origin/mybranch

where origin/mybranch can be generic for the current branch's upstream HEAD?

Rndm
  • 6,710
  • 7
  • 39
  • 58
Chris
  • 4,594
  • 4
  • 29
  • 39

1 Answers1

7

The syntactic magic you want is part of a "revision specifier". These are documented in gitrevisions.

The string @{upstream} (abbreviation, @{u}), appended to a branch name, means "resolve the branch to its upstream". If you omit the branch name, git substitutes in HEAD, i.e., HEAD@{u}. This uses HEAD to find the current branch and then proceeds as if you had specified that.

So:

git reset --hard @{u}

will do the job (of course as with any git reset --hard, use this with care).

(In some shells you may have to quote the braces.)

torek
  • 448,244
  • 59
  • 642
  • 775