Причина, по которой ваша команда reset
не приводит к ожидаемому результату, заключается в том, что команда reset
фактически сбрасывает текущее значение HEAD текущей ветви в указанное состояние / фиксацию (например, 148cdea0c52). Но когда вы снова делаете git pull
, ваш текущий заголовок переходит к исходному заголовку, который содержит ошибочный коммит, от которого вы хотите избавиться.
Быстрое исправление может быть - после сброса HEAD вы можете принудительно нажать кнопку HEAD для обновления вашего удаленного филиала.
Самый чистый способ сделать это - запустить
git revert <commit-id>
*** Здесь <commit-id>
должен быть коммит, который привел к ошибке. git revert
создаст новый коммит, вернув изменения из вашего оригинального коммита. После этого вы можете перенести текущий HEAD в удаленный репозиторий, чтобы в удаленном репозитории также было самое последнее исправление.
Вы также можете запустить команду git rebase -i
, чтобы молча отбросить предыдущий коммит. Затем принудительно нажмите, чтобы обновить удаленный репозиторий. Хотя я настоятельно рекомендую вам не делать этого, если вы точно не знаете, что собираетесь делать.