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,540
  • 7
  • 37
  • 58
khoomeister
  • 4,414
  • 4
  • 27
  • 38

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
  • 389,216
  • 48
  • 524
  • 664