Решение существующей проблемы
Вам придется снова сброситься до A2, чтобы восстановить вашу ситуацию. Поскольку вы, похоже, предпочитаете пользовательский интерфейс Android Studio интерфейсу командной строки, я бы посоветовал проверить вашу локальную историю, чтобы восстановить состояние до последнего сброса. (Но следует отметить, что в CLI это будет означать проверку git reflog
, определение хэша состояния для восстановления, затем git reset --hard <hash>
)
Предотвращение этой ситуации в будущем
Когда вам нужно проверить старый коммит, чтобы позже вернуться к текущему состоянию без изменения недавней истории, вы не должны reset --hard
, а скорее checkout
коммит напрямую.
Это заставит вас войти в то, что называется отсоединенное состояние HEAD , что означает, что вы в данный момент указываете не на ветку, а непосредственно на коммит в дереве.
Когда вы закончитеосматривая указанный коммит, чтобы вернуться в A2, просто снова проверьте вашу (master
) ветку.