Этап reset
работает в вашей ветке loacl, а не в удаленной. Поэтому, когда вы выполняете полный сброс, ваша локальная ветвь находится позади вашей удаленной ветки, и Visual Studio автоматически перехватит зафиксированный коммит между вашей локальной веткой и вашей удаленной ветвью.
В соответствии с вашим ожидаемым, есть дваспособы вы можете попробовать. Первый - сброс определенного коммита. Удалите ветку с пульта.
Затем перенесите вашу локальную ветку на пульт.
Второй способ - выбрать конкретную фиксацию и создать новую ветку.
Эта новая ветвь будет старой версией вашей основной ветки. И если вы хотите, вы можете сделать это своей новой основной веткой или тестовой веткой.