где origin/mybranch может быть общим для текущей ветки HEAD верхнего уровня?
Ответ 1
Синтаксическая магия, которую вы хотите, является частью "спецификатора ревизии". Они описаны в gitrevisions.
Строка @{upstream} (аббревиатура, @{u}), добавленная к имени ветки, означает "разрешить ветвь до ее восходящего потока". Если вы опускаете название ветки, git заменяет на HEAD, т.е. [email protected]{u}. Это использует HEAD, чтобы найти текущую ветку, а затем работает так, как если бы вы это указали.
Итак:
git reset --hard @{u}
выполнит работу (конечно же, как и с любым git reset --hard, используйте это с осторожностью).
(В некоторых оболочках вам, возможно, придется процитировать фигурные скобки.)