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